Personally, I'm of the opinion that the fighter doesn't need to be changed. No, fighters aren't flashy: they can't usually kill in a single hit; they can't warp reality with a flick of the wrist; they can't bend another to their will with a thought.
But what they do do is fairly reliable and predictable. No, they don't usually do a lot of damage per hit - but a fighter will consistently do a similar amount of damage with each hit, giving them steady damage over time. A player can rely on that fact, and build and plan around it. Meanwhile, a caster's spell can certainly roll a lot of damage dice - but there's always that chance that the meteor swarm that the wizard casted rolls all 1's - and then gets saved against. A caster's damage is often based simply on a number of dice, making it more susceptible to luck, bad or good. A fighter's damage tend to be based on a die or two with a host of pluses, making it must less variable - at the cost of top end damage. Yes, there's the maximize spell feat, but it's a feat - a resource a caster is limited on. Plus it makes the spell take a higher spell slot, making the caster have to question if the maxed dice are worth the cost of the higher spell that could have otherwise been taken. The fighter's damage stays fairly consistent, even if lower - as such, there's no real for something that guarantees a max roll. If it won't add much, why does it matter?
Also, a spell caster has a limited number of spells. Now yes, I know at high levels, most casters won't run out before the next time they rest. But there is a limit. And it's something that has to be considered - because a memorizing caster can only take so many copies of a select spell with them, and a spontaneous caster has a limited selection to bring. Every choice matters. Because intelligence opponents can use that fact against a caster. A well-prepared enemy with enough resources at their disposal has the option, when the PCs invade their lair, of forcing them to take on the entirety of their defenses in one go. No rest, no chance for replenishment - do or die.
And why wouldn't they? If they lose, it means the end of everything they've worked for - and they have no real reason to play fair, especially, if they're evil. A spell caster in that kind of scenario has to manage his spells wisely; even if he never uses them all. Meanwhile, the party's fighter can just keep swinging, so long as his weapon doesn't break and he doesn't die.
Players retreat from the dungeon so the casters can replenish safety? Ok; NPC takes that time to resupply and fortify. When the party comes back, the place is even harder than the last time.
Casters also have to think about their spell selection when they memorize - having the wrong spells for the situation can be very lethal, regardless of how powerful those spells are. Death spells are worthless to those immune to death. illusions are ineffective if the opponent doesn't rely on the affected sense(s). Being able to fly doesn't get you away from the dragon that wants to eat your face. A caster is only as good as the spells they have at that moment, regardless of how large their spell list is.
A fighter? His selections are set; now it's just a matter of adapting them to the situation at hand. To this end, potions are a wonderful thing. Up again flying opponents and you're melee? Bring a few potions of flying. Invisible enemies? Potions of see invisibility. If the fighter finds themself consistently in need of any spell effect of 3rd level or lower, he can just get a potion to cover it. They're easy to use, and at high levels, are pretty cheap in comparison. Yes, they're one use only, which is a drawback.
But so isn't a scroll, or a spell slot until the caster rests.
Plus, D&D is a team game; in the end, if the party whole isn't greater than the sum of its individual players, then I'd said something's wrong. Yeah, a buffed caster can be scary - but sometimes the fighter given the same buffs would be even scarier. Party up against a group of flying opponents who are weak at melee but strong at range? Cast fly on the melee fighter, and let them go tear into them. Got a big nasty monster you need to drop quickly? Give the rogue improved invisibility, let the fighter take the heat, and watch that rogue rip the creature a new one.
All I'm saying is, if the casters are dominating the game, the fault may not be on the fighter not being good enough - but the DM not keeping the encounters balanced. In the few games that I've run, I found that the it wasn't the casters that were the ones that I struggled to challenge, but the melee combatants. I could build encounters that tested the casters' abilities and make them sweat - up until the fighter step up and tore whatever they were facing apart. And it happened to me time and again.
For example, I had a psion, who had an item the party was after, guarded by sixteen nightwalkers. The party's level was I think maybe 10ish, low-teens top. Now, this wasn't an encounter they were suppose to take on - the players were suppose to see they were out-matched, and the psion was suppose to get away. However, before anyone else could act, the party's melee member leapt in, tumbled past every nightwalker between him and the psion, one-shot killed the NPC, took the item, and tumbled back past all the nightwalkers.
In a single round. Using only his own abilities.
Next round, he ran, fleeing the scene with the item - after passing every Reflex save from the eight cones of cold the closest nightwalkers unleashed. And thanks to evasion, he took no damage.
The wizard in the party? Died before even getting a spell off.
Admittedly, I was a green DM - but the player wasn't cheating, or sliding one past me. He simply was making excellent use of the options I gave at character creation. I learned that game that you never let a player use material from the Oriental handbook unless everyone is using it. As least for my group. There's some real unbalancing stuff in that book if everyone's not using it.
Now, I know I'm likely in the minority when it comes to 3.5 fighters, and that's fine. In my gaming group, they work as-is, and that's all that matters. I just felt the need to say my peace on the matter; even if it doesn't change anyone's opinion.