If the issue is that dwarvish axemen cannot close the distance with elvish archers, how about simply saying
"If you make any ranged attacks, you speed is halved; and you cannot make ranged attacks if you have already moved more than half your speed this turn."
Does darkness reduce your speed in 5e like it did in 3e? Because basically you're focused on aiming, not moving, right? Maybe it should be, if you move more than half your speed in the same turn you make a ranged attack, make a Dexterity (Acrobatics) check (DC 10) or fall prone.
I mean, in this scene you don't see people running full speed while firing arrows.
https://www.youtube.com/watch?v=Cd0pmvGEumM
(Spoilers for Game of Thrones' latest season.)
Also I'd allow anyone who takes the Dodge action to automatically evade one ranged attack that they're aware of, though they have to choose before the attack roll is made.