Note that override_weapon_target_prereq_action gets messed up every time the affected unit gets garrisoned.
i.e., your sniper will be targeting just about anything (even infantry casualties). Giving a direct-face command (such as the ability bound to A for HMGs, etc) will restore the override_weapon-target_prereq actions.
It doesn't make any logical sense, and I've no idea how to fix this, but that's how it is.
That's lame - another bug that needs fixing.
As a workaround, you could put the override_weapon_target_prereq_action into an interval_action to execute it every few seconds. That might help, but it's probably not very efficient. Better than nothing, though!