There's something really messed up with how you've programmed ranged units. Sometimes they'll stand still and fire through their whole range of fire fine, but very often they start to shuffle all around, not firing ruining the battle by not doing thier job. Please make them always use thier entire range of fire before moving, it waste so much of the positioning advantage when they shuffle around. If left in the default spawn point they seem to not shuffle around, but they usually will if moved to a different (better) location. It doesn't seem to matter what formation, but please make them work properly in lose and line formations as this is these are what this unit type should be in.