Balance the teams better based on the classes of the player. Also balance based on the equipment used (so that people with 3 riding who are on foot aren't considered cavalry).
This is the way I would balance teams, highest in the list, is the variable weighted the most:
Skills of the player (to determine a "class")
Equipment used
Banner used
The classes AREN'T SUPPOSED TO BE BALANCED. Ranged is supposed to be strong at hitting you from a distance, and weak up close. Pikemen are supposed to be good when they have a buddy assisting them, but weak vs 1v1. These are just 2 examples, every class and playstyle has strengths and weaknesses. That's what makes this game so great. Not every peasant with a torch is supposed to be able to survive against great lancers bearing down on them. That's kind of the point.
Do a decent job balancing the teams, and you will never have to hear people bitching and complaining about the classes being unbalanced.
If people want to stomp the enemies into the ground with the most overpowered and unbalanced team, and gear, they can. It's called STRATEGUS (or setup a scrimmage). Public servers should never, ever be the domain of stomping grounds. Pub stomps aren't cool, but cRPG encourages it...what's up with that?
Also while you're at it, change the experience/gold system so that you're not punished for having teams that are well balanced.