If I were to do this, I'd switch out magic to be entirely skills based. Each school of magic would be a separate skill, and casting a spell would require a check.
Wizards would get 8 skill points per level (6 more than normal, so they could have many schools). Sorcerers would get 6 skill points per level (4 more than normal). There would be no spell slots. Instead, whenever you fail a spellcasting check, you suffer a cumulative -1 penalty to future casting checks until you sleep for an evening. If you fail by 5 or more, the spell mishaps somehow. To counteract their lesser skill points, sorcerers get a +1 bonus to spellcasting checks.
You do not have to 'know' spells; if you have ranks in the school of magic, you have the chance to create any effect of that school. To cast a spell you roll d20 and add your ranks in the appropriate skill. There is no key ability score that modifies this check. Instead, add your caster level to the check.
DC 05 - cantrip
DC 08 - 1st
DC 12 - 2nd
DC 17 - 3rd
DC 22 - 4th
DC 26 - 5th
DC 30 - 6th
DC 35 - 7th
DC 40 - 8th
DC 45 - 9th
In this system, the earliest you could reliably cast 9th level spells would be 18th level, with skill focus and 21 ranks in the skill.
Of course, in a perfect world we'd just revamp spells to be on a 20-pt. scale so that 5th level spellcasters could cast 5th level spells. But oh well.