Here's my thought: Make specialist the accepted, easy way, but Generalist a possible, if difficult, and non-optimal way.
For example, if for each school of magic, spells 4th level and higher required the spellcaster know 1 spell of the same school; spells 6th level and higher required 2 of the same school, spells 8th level and higher required 3 of the same school, and 9th level spells required 4 of the same school; more specialized casters would be the trend (especially if spells known were drastically reduced). Further, if for each subschool of magic, spells 6th level and higher required the spellcaster know 1 spell of the same subschool; and spells 8th level and higher required the spellcaster know 2 of the same subschool; specialization would be further encouraged (again, more effective if spells known are drastically reduced).
Which leads me to my next point: drastically reduce spells known, and don't allow Wizards, or any other class for that matter, to simply learn every spell in the game.