Adapt or die. Sometimes adapt and die. Seriously though, is it really a huge problem? The issue seems to be team work and battle field awareness of the average player.
Adapt or die can be used as argument for everything. We invade your country and rape your women. Adapt or die.
In my eyes balance does not only contain the equal (general) effectivity of classes you are fighting, but also the distribution of classes on the server. I think it's not desirable to have a game with class a) being 50% of all players, class b) is 35% and c) 15%. (Just example values).
Possible approach to a solution:
Bonus XP are being distributed after each fight, a sum that depends on the amount of players on a server. For each of the WPF values you distribute a certain amount of XP, and depending on one's percentage of the combined WPF you get the same percentage of XP. If you have a multiplier this value will be multiplied, then.
So if a certain weapon class is overrepresented on the server, you automatically contribute a lower percentage to the combined WPF, and thus you get a small part of the XP cake.
Of course you can modify the XP values for the different WPFs, to even things a bit out. For example the Xp value for archery WPF could be smaller in general, to even improve the effect.
This way you wouldn't lower the efficiency of a class, but still its attractivity.
Feel free to further develop this idea.
Example:
End of the round. 100 players are on the server, which means 100.000 XP are to be distributed (for example, let's keep it simple).
We have 6 proficiences, so the distribution could be:
1 hand: 20%
2 hand: 20%
polearm: 20%
bows: 12%
crossbows: 14%
throwing: 14%
Bows have the smallest value as we want their amount to lower. Later we can raise the value again.
Of those 100 players 40 are archers. Each of them has 100 WPP spent. (Note that the spent WPP should count, not the WPF, as otherwise hybrids would have a big advantage!). Which means you have 4000 WPP. 12% of the entire 100.000 XP would be 12.000 XP, and as we have 40 archers every one of them gets 300 XP. Not much.
But we have only seven throwers on the server. Let's say they all have the same amount of WPP spent, too. 14% of 100.000 XP are 14.000 XP. Distributed among seven throwers means everyone gets 2000 XP! That as three times as much as the archers get! Because they use a weapon that's less rare.
Note that in my example ranged weapons get 40% XP. I would prefer a value of 33% XP combined.
This also encourages people to use alt characters if the server has too many of their current class.
Edit: just noticed that people with high AGi and WM have an advantage over strength whores. Then find another solution, for example everyone gets the same amount of the WPF XP pack, unless he didn't spend WPF on other proficiences. Otherwise he will lose the same percentage of XP of this particular WPF XP pack that he spent in other WPFs. The XP he lost due to having other WPFs will be distributed among the other players in this particular WPF XP pack.
unfortunately you have to do it this way, instead of just looking which WPFs someone has, because otherwise people would give themselves 1 or 2 WPP in each WPF to get from all XP packs. And looking how much someone spent in which WPF (which would be the normal reaction to this behaviour) is nothing else than what I just described above.