Somehow the xp system should also take into consideration who you are winning or losing against.
(In theory matchmaker should make sure we do not end up with stacked lobbies, but there is simply too much human involvement and too small playerbase for it to work properly. And well, if you restrict the system more, it will ruin the healthy amount of flexibility this game still has and should have.)
Naturally, matches won should give you more xp than matches lost, but if those matches were won against players much lower in levels than the average of your team, then there should at least be some xp penalty involved when calculating the final points. There simply needs to be an inbuilt reason or reward why players would want to balance teams and stay on the weaker side even if they recognize it as the weaker side. And this reason should not be the goodwill of people, nor the promise of a good game, but something that has to do with levelling or xp. The real xp achievement recognized by the game should be the case when you beat people whose average levels are at around your level (eg. plus/minus 10 levels) rather than beating whoever who happens to be around. When beating people whose average level is much lower than yours, the game should reward little xp. People would be more willing to scramble if having balanced teams meant more xp at the end. Again, the problem with this system is the small playerbase, eg. some of us tend to play at times when there aren't enough players with the same levels to fight.
As long as winning earns you 1k xp no matter what whereas losing will earn only around a couple of hundreds, no player in their right mind will stay on an obvious losing side for too long.
With my two matches, I do remember unlocking an achievement during the high xp one, which might explain at least partly why xp was higher, but other than that, I also remember fixing nothing but a few engines that the captain damaged with tools.