Actually I'm working on a variant wizard class right now that requires all wizards specialize in one of the traditional schools, metamagic, artifice (magic item creation), or hedge magic (hodge-podge with unique "hearth" spells).
Here is how I handle opposed schools:
Alternative #1: Select three spell schools which are forbidden to you; you cannot cast spells from these schools.
Alternative #2: Instead of having three forbidden schools, the wizard finds magic outside his school risky. Any spell cast from a school other than their specialization requires a caster level check to be successfully cast (DC = 10+ the spell’s level+ modifiers). Failing the check by more than 5 indicates the spell fails and the wizard is fatigued. Failing by 5 or less simply means the spell fails. Succeeding by 5 or less means the spell succeeds and the wizard suffers fatigue. Succeeding by more than 5 means the wizard casts the spell with no ill effect. Only spells from their school of specialization can be cast without making a caster check. So it looks like this...
Succeed >5..................Spell is cast no problemo
Succeed <5..................Spell is cast, fatigued
Fail <5.........................Spell fails
Fail >5.........................Spell fails, fatigued
What do you think, do these 2 balance each other?