What I recommend doing next is:
Determine what causes the difference between the German, Russian, and Hungarian units and other units for the first problem. I'd try removing traits from a German unit, say, until it starts acting like the other units.
See if you can reproduce either problem with...