The current charge mechanic is biased against units with lower charge impact regardless maneuver. There are not uncommon that higher charge-impact units can counter charge the lower one quite easily (and even nuke them). For example, barb cavs charge-ambushing greek cavs from afar, and upon collision, the latter press charge and counter-nuke the former; both units are moving.

To remedy such situations, I suggest to add a momentum weight. A floating weight valued between [0,1] is added into the charge calculation. It would take time for the charge to reach its full potential. For example, suppose a full-charge period is defined as 3 seconds. If a unit is moving, it would take 3 seconds before its reach full charge damage from the time the charge button is pressed, i.e. the momentum weight is 1 after 3 seconds to produce a full charge damage. If the unit on charge collides with the opponent at the 2-second mark, its charge has 2/3 its full potential (charge damage). If the unit is moving and in combat, i.e. being chased by other cavs, its charge damage is 0 since it would collide right away with the chasing force if charge.

Using this new momentum factor, the current pseudo timing charge, i.e. pseudo who-charges-first, can be removed from the equation. Furthermore, the winner-take-all mechanic can be modified using this approach towards a better timing charge solution, i.e. who charges first has the upper hand. In addition, with this approach, one can bring back the Greek cav full potential as the best shock cavalry in game without much concern about its being overpowered.

Cheers