I had suggested (I think during the beta) an easy formula to balance out the issue that occurs if a team is too out leveled and at least gives teams which are greatly outmatched a fighting chance to remain relevant in the game.
Have a check in place every 60 seconds where Team A’s and Team B’s levels are averaged. For this example let’s assume:
Team A:
Player 1 - 7
Player 2 - 8
Player 3 - 5
Player 4 - 6
Player 5 - 6
Team B:
Player 1 - 4
Player 2 - 3
Player 3 - 3
Player 4 - 6
Player 5 - 2
Team A’s average level is: 6.4
Team B’s average level is: 3.6
A difference of 2.8
If the difference is >2.5 (or whatever ends up being fair and balanced) Team B is granted the remaining XP needed to gain their next level.
This brings Team B to:
Player 1 - 5
Player 2 - 4
Player 3 - 4
Player 4 - 7
Player 5 - 3
Which is an average level of 4.6, an average level difference of 1.8, which still gives Team A the advantage and room for a few players to gain additional levels before the check would have any impact again assuming Team B still can’t gain any ground.
So worst possible case scenario a late game would see Team A with 5 level 10’s and Team B with 5 level 7’s. Insanely more balanced than some of the games where it’s All 10’s and 9’s against 4’s, 5’s, and 6’s.