Well, when my friends and I were coming up with a homebrew, we decided the solution to this was to make the core classes EASIER to multiclass (BAB fractions add, etc.), but make all magic be a Prestige Class ability. Specifically, three Prestige classes, each requiring only a Feat that gives you a bit of cantrip-level magic (so it's a feat some non-casters might want anyway). Certain aspects of the spellcasting were bumped up to compensate, like caster level and ray-spell BAB were replaced by ranks in a new skill, Manifestation; since it's a skill, you can easily spend the points to make up for the non-mage levels. Since there were two or three new magic-related skills, each magic class got 2 extra skill points per level.
The other thing to note was that when you first took a level of a magic class, you declared what your "base" mundane class was, and you kept certain aspects of that class (like the skill list, some of the skill points, etc.). So, if you were a Rogue-type who decided to take some Wizard levels, you'd still have Hide/Move Silently as class skills and more skill points than someone who came from a Fighter background. End result: you had a lot more people mixing in a few levels of caster classes, or just using the Feat, but you didn't have the "pure" caster type you see now.
Anyway, I'm not suggesting you rewrite the system as thoroughly as we did; I'm just saying that I think most of the current multiclassing headaches are directly tied to the all-or-nothing nature of the current mage classes.