That's a good question, although to truely delve into it, we might want another thread.
My short answer would be to get rid of classes all together, but many find that unpalatable, and it doesn't seem like much of a 3.5 "fix", so it's probably off the table for purposes of this discussion.
As a general rule, I'd say follow this general rubric, and most of your work is done for you: Your vertical advancement comes only from level, and your horizontal advancement comes from your class levels and feats. What I mean by vertical advancement is all the scaling that makes you better at an option you already have (more plusses on your sword attacks, more d6s on your fireballs and sneak attacks, etc) and horizontal advancement is when you gain a new option. So, a fighter learning to trip is horizontal advancement, and when he learns how to trip everyone next to him at once or gets a +4 bonus on trip attempts, that's vertical advancement.
Now, to make this work, figure that a level 10 fighter will have the power of a 10th level character and a whole slew of fighter options. A 10th level wizard would have the power of a 10th level character and a whole slew of wizard options (spells, most likely). Now, a Fighter 5/Wizard 5 also has the power of a 10th level character, but he has half as many fighter options as Fighter 10 and half as many wizard options as Wizard 10, but he still has as many total options as a 10th level character. So while he loses flexibility in both of his fields, he also gains flexibility by having two fields.
I've also attached a little graphic to illustrate my point: