The way I figure it, races provide one to four kinds of modifications to the standard classes:
- Racial Background: stuff members of the race is trained in; stealthy woodland archers (elves) or stalwart berserker-miners (dwarves.) This shouldn't be automatic, but is a feature of the way the character was raised; a dwarf raised by humans would not have the miner-related talents of other dwarves.
- Cosmetic Tweaks: stuff that makes members of the race look different than humans. Each such difference should be "self-balancing", with good points and bad points, so you can include as many of these as desired, although it's probably best to restrain yourself to one or two differences.
- Class Transformations: stuff that changes for members of this race. Assign at least one base class to each race and replace no more than one thing per class to make it distinct for that race.
- Cultural Transformations: stuff that the race as a whole can do that is not normally possible for other races. Make woodland elves able to grow trees into any shape desired, for example. PCs don't get these talents, since it's not a feature of individuals, but the culture as a whole; it makes encounters with settlements of non-humans feel distinctive.
The first two modifications are situational; sometimes, you get a bonus, and sometimes, you get a penalty, depending on whether the GM thinks the distinctive features of the race would apply to the current situation. Thus, there's no real limit to the number of modifications, although more than three distinctions per category is probably too much; you want to be able to sum up the racial background and appearance with just a couple words each. There's no hard limit because humans and human cultural backgrounds can provide the same sorts of modifiers, so there's a rough "balance".
Similarly, each race, as a result of its unique nature, may be able to produce one or more items that can provide bonuses in some situations, but these items could be used by anyone able to obtain them. Thus, cultural transformations can be unlimited, but should be restrained for the sake of making the cultural identity easy to grasp.
The only type of modification that provides a flat bonus, no penalty, is the class transformation, which is why you should set a hard limit (one per class) and require a sacrifice, replacing a standard class ability with the racial modifier. The original rules tended to do this with level limits, but actually replacing abilities might make for more interesting races.