As far as class limits go, I really think they should make it something like this:
Generalist classes are locked at 2 each,(The below are the classes that I consider are generalist,can be changed)
(Scout,Soldier,Demo,Heavy)
Specialist classes are locked at 1 each (The below are the classes that I consider are specialist,can be changed)
(Pyro,Medic,Sniper,Spy,Engie)
On a side note: I really think pyro might reach the generalist area if his mobility is expanded upon. Like making detonator and scorch shot jumps viable but that would make one weapon the meta(which is boring). Alternatively, a mechanic can added like a Airblast jump that ,when you hold m2 for a while, would fling you forward in a similar fashion to rocket jump. But this is a topic for another day.