Step 1:
Clean out all maps that are not perfectly even.
Check out if there are "natural fortifications" (turning battles into "soft" sieges), if the distances to choke points are equal (the team spawning closer to the central bridge will lose in the majority of all cases), and if both teams spawn on the same height level (so one team doesn't need to fight uphill).
Step 2:
Remove banner balance
Step 3:
Implement faction balance.
It's basically like the faction system of strategus. It works over the character page, not ingame by banner. You can either create your own faction, or join an existing one by dropdown menu and "apply" button.
Being the leader of a faction you get a rudimentary faction managment menu, like a member list and buttons next to them, like "promote" to make them either officer (can accept applications, too) or the new leader (can change all settings like faction name and stuff) or demote, for obvious reasons. Also a "kick" button is probably needed. You also get a list of applications with "accept" or "decline". All actions taken are saved in a small log which can be read by every member, so you see who gets promoted, demoted or kicked by whome, to prevent people of messing around with it and "being funny".
Auto balance now asks for your faction, instead of your banner. No more banner whoring.
Step 4:
Implement (hidden) player classes.
According to his skills and equipment, players get classified (right word? Or did I say they were made secret?) on the character page.
1. Check riding skill. Higher as 2? Rider. If not: Footman.
2. If rider: check horse archer skill. If higher than 0: horse archer. If not: cavalry.
3. If horse archer: check highest ranged WPF. Depending on this result classified as HA, HX or HT.
4. If cavalry: check highest melee WPF. Depending on this result classified as lancer, 1hd cav or 2hd cav.
5. If footman: check if Power Draw or Power Throw > 3. If so, classify as archer or thrower.
6. If no archer or thrower, check WPF in crossbow. If >74, then classify as crossbowman.
7. If no ranged fighter, check shield skill. If > 3, then classify as shieldman.
8. If shieldman, check whether highest WPF is polearm. If so, classify as hoplite.
9. If shieldman but no hoplite, classify as 1hd + shield.
10. If no shieldman, check highest WPF. If highest WPF 2hd, classify as 2hd infantry.
11. If 2hd infantry, check for crushthrough weapon. If so, classify as crushthrough infantry.
12. If no shieldman and no 2hd infantry, only polearm is left. If polearm infantry, check for pike weapon. If so, classify as pikeman.
13. If polearm infantry but no pikeman, classify as 2hd poleinfantry.
14. If no class can be applied, classify as peasant/weird hybrid.
This way the game knows exactly which class you are, recalling the prepared data as soon as you enter the server. It is rechecked on the server every time you change your weapons.
Step 5:
Track player skill.
Take his k/d into concern as well as his w/l ratio. Add the w/l ration on the character page, btw., it's a value I'd only be too pleased to see on the character page. Add this to his level, generation and the value of the items he equipped, and you've got a rough value about the player's personal experience.
Step 6:
Make fair teams.
First distribute the faction squads evenly among the teams (Biggest suqad to team A. 2nd and 3rd biggest squads to team B, 4th and 5th to team A again, and so on). Then look at the factionless pool, and distribute the classes accordingly. If you can't make up an overweight of one class with the same class on the other team, then fill up with their "counter class". The choice which class player gets into which team is solved by the player values.
Step 7:
Implement a command system.
So players can actually have a bigger impact on how well their team does. A command system would allow teams to adapt to superior enemies and turn the tables. Without command system you need a few horrible steamrolls to get people to listen and follow certain tactics.
Step 8:
Change multiplier system.
With a good working balance player would be stuck on x1 or x2 most of the time, not being able to wear any but the cheapest equipment. Either change the multiplier system, for example a loss gives only -1 on multiplier, instead of resetting it, and/or lowering upkeep cost accordingly, making a x5 even more of a reward.