The easiest, most obvious and best way to balance maps like Commissars or Grain Elevator, would be to IMBALANCE the teams.
In reality, military would not plan to attack unless they have numerical superiority. 3 to 1 at least, even more on urban terrain. Without numbers the attack is doomed to fail. It is that much easier to guard a doorway than breach it.
Also the generals would concentrate their resources to get material advantage. That would mean well equipped men for the task, air superiority, extra tank battalion and more indirect fire support designated for the sector.
Now in game you got two generic, standard and identical platoons fighting it off in every map. That is just wrong. In certain maps team sizes and weapon loadouts should be varied.
For example 64 player Grain might be well balanced this way:
-24 players on Russian side, 2 MG's, 2 semi-autos, 6 ppsh and 14 bolt actions.
- Germans would have 40 players, two more machine guns, few more submachineguns and semi autos. Extra grenade for assault class.
Same idea applies to Commissars: Tweak the team sizes, give Germans only one panzer and limit or even take away their artillery entirely.
Even with these numbers I suppose defenders would still have advantage with equally skilled teams.
In this game defense is most intense, fun and exiting when it's hard against superior numbers. While defending you want to have lots of targets coming into your sights, without it becoming target practice.
While attacking it's totally opposite. When it's too hard, it becomes so frustrating. Run to capzone, spam a frag, shoot once & die. Repeat till win/lose. Attacking should be smooth, organised "roll" and defence should be more hectic "fight for your life" experience.