One idea I had a little while ago, which on its own doesn't solve matters much, but still just
feels good to try and implement is varying save modifers based on spell type. Direct damage with no other effects (fireball, lightning bolt...) get +4 to save DC. Direct damage with minor secondary effects, whether minor in magnitude or duration (Orb spells, Shatterfloor...) get +2 DC. Save or "die" (Finger of Death, Flesh to Stone, Hold Person...) has -4 save DC. Save or suck (Glitterdust, Slow...) has a -2 save DC.
I realize save or die is still an issue even if it becomes a "Johnny needs a nat 1!" crapshoot, and also that the line between die/lose and suck can be blurry and subjective (after having seen melee brutes like bears continue to PUMMEL melee PCs after becoming blind and supposedly helpless, I don't consider that as bad as paralysis, for example). But god it always bothered the hell out of me that the game basically says for the exact same save DC, you can either do full damage with your fireball or
win the combat.
If you want to weaken mages in high-level play, it's better to slow access to high-level spells than to limit which high-level spells they can take. One book (not remembering which) suggested limiting characters to no more than 1/2 their levels being caster classes, which would seriously limit high-level spell access. You could also change the general progression of spells, or add a more serious cost to spellcasting (hit point damage, ability damage, one game I ran had a finite limit on how many spells a character could ever cast).
I always liked the 1/2 caster idea, but it's sort of complicated if I were to really add it to a game. I suppose paladins, rangers, hexblades, etc... with 4 spell levels can get a "they're already half casters" pass. But what about Bards? They get up to level 6, and if you nerf them to half the levels ou of Bard, they suddenly suck utterly and royally. But if you let them do Bard to 20, they have the highest level spells in the game now. And some of those high level spells are VERY nice: Greater Dispel Magic (every other sucker's CL 10 max, commence with evil laughter) at 5; Otto's Irresistable Dance (save or lose minus the pesky save part) at 6...
And I'll just assume you ban Sublime Chord, otherwise Bards, ironically, completely break the whole game. Of course, this applies to other casters with similar spell level progressions, like Duskblade. If Duskblade gets full level advancement, I would NEVER play an evoker or sorcerer over one of them.
EDIT: On second thought, a 1/2 CL game basically makes evocation unplayable anyway. 10d6 damage, save for half at level 20? Way to make me into an unoptimized Warlock... You'd probably have to say damage spells do 2d6 per CL (for example) or something just to balance things out.