You could take it a step further also. To compensate for the loss of bonuses from racial mods, you could add effects "similar" to having a score one higher; dwarves get an extra healing surge, elves get a +1 to hit with bows, halflings get +1 AC, etc...
That would allow for anyone to play any race/class combination without drawbacks, but it doesn't appeal to the rules tinkerer in me. I like that certain races and classes are obviously better at various roles. The primary and secondary abilities can provide a lot of inspiration as to which magical tradition is dominant in a particular racial culture.
For example, while every race needs intelligence for wizards (making Eladrin, Humans, Devas, Tieflings and Genesai the best overall wizards) the different builds of wizards allow racial preferences to shine through. Elves, Eladrin and Half-Orcs favour wand weilding war wizards, Goliaths staff wielding abjurers or summoners, Devas favour the orb, etc.
Likewise, races favouring certain classes also helps define that race. For example, If I was a dwarf and the most powerful arcanists of my society were infernal warlocks, I'd hate and fear arcane magic too. These are little touches that would be lost if we moved to solely determining racial archetypes by racial feats. You'd get explicit feats or racial features that would favour a single class (ie. dwarf cleric) but you wouldn't get to discover the classes that the race is sort of good at. The unexpected combinations are part of the fun, and a chance to introduce a whole new culture of a particular race that we haven't seen before (like the devil worshipping Duegar, or druidic Hill Dwarves).
Where the race doesn't, or can't, fit all the archetypes of which they are associated, a new class or a class build can always be used. For example, if a dwarf isn't as good a paladin as he should be, new powers keyed to wisdom can always fix it. We would call this the "worrior monk" paladin build, to distinguish him from the "pillar of strength" build (strength based powers) and the chivalric knight (cha build powers). You can already see the races that would pick the particular type of paladin and how it suits them. The dwarves are wise and hearty, so they make good monks, while gnomes and half-elves make chivalric knights who toss around a lot of radiant damage.
Now there are two caveats to this solution.
1) If you're going to associate a particular race with a particular class, you should at least have the primary score of that class as a racial ability mod. The tiefling should be the best infernal warlocks, and while racial feats for tiefling warlocks help, they don't fix that tiefling wizards should be very good at summoning devils too. Tieflings are the only race that needs the ability score errata, in my opinion.
2) You have to not mind if races are advantaged in things you never really considered part of their archetype before. For example, elves are probably going to be advantaged as monks (or even my theoretical warrior monk paladin build) because of their wisdom score. If you just allow for a subculture of elves that are monastic (or more likely hermits) and go along, it is a great place to build new fluff. Just like it was fun finding out that halfings made the best wizards in 3e.