Since the whole battle code will be rewritten at some point (maybe in several years), not sure changing the whole algorithm would be worth it.
Try to adapt this new system. This defintely makes ranged units less reliable so why not switch over to good old pure infantry army tactic of the old? Once you can close the gap, you can make a short work of enemy archers.