Balancing requires cons to offset the pros. To use the current example, medics, the obvious (and generally given) downside to a class capable of rejuvenating health is that these class types generally have less base hp -- they can heal but they die quicker. "Tank" classes have increased health and heavy damage, with the trade-off being a greatly compromised mobility. The answer is not to nerf it but balance it; the better the pro, the more debilitating the con. Simple.
All weapons, skills, levels, etc. should be bound to these very simple rules of balance.
Pros vs. cons allows for not only a balanced play, but a wide variation in preference depending on play style. With the addition of a stat-specific leveling system, skill tree, and extensive weapon load-out, the allowance in variation increases ten-fold. I wouldn't say to do away with classes because they make for a very strong gameplay dynamic and encourage teamwork. Just regulate and enhance them to allow for various styles of play.