I'm kind of a fan of requiring you to meet the class pre-requisites of your current class in order to multiclass out of it. They might have to be adjusted a bit (to allow a fighter to pick Dex instead of Str for instance). So if you want to go from fighter to wizard, you'd have to have a 15 in both. The multiple attribute dependency it creates probably compensates for the 1st level class benefits for at least some of the combos.
Personally, I think that's a effective solution. The downside to multiclassing is higher stat demands. By taking fighter first and then swapping to wizard you effectively bypass the multiclassing requirements.
A second option can be to spread out the level 1 proficiency benefit. Right now if you multiclass you pick up 5 types of proficiencies for one level. You get armor, weapons, tools, skills, and saves. They should level gate the proficiencies, making dipping less effective while true multiclassing remains effective.
My idea of how to balance multiclassing:
-Your highest level class is your primary class, in the event of a tie the class which you dipped into first is the tiebreaker. So a 1/1 Fighter/Wizard is a fighter
-You must meet the multiclass requirements of all classes you have before multiclassing. If you can no longer meet the stat requirements you may only take levels in your primary class
-You gain all the proficiency bonuses of your primary class, this means
-For non-primary classes you gain weapon proficiency at level 1, tool proficiency at level 2, armor proficiency at level 3, skill proficiency at level 4, and save proficiency at level 5.
So in this system a wizard who takes 1 level of fighter must have the 15 strength. Then if he takes 2 levels in wizard he loses the armor proficiency. He must go take alternating levels until he reaches level 3 to keep the armor proficiency. This would increase the cost of armor to 3 levels and 15 points in strength.
Obviously the exactly levels could be shifted around, but you get the logic.