Multiple projectile shots will have unique issues. Not just the 1st projectile (pellet) not downing a target but a later one in the same shot, you also have the cases where multiple scouting targets get hit with some dying and others not, now you have to put in place the logic to track each unit hit in that shot and then see if any remain standing to mark the shooter. Another case that has not been considered is stray shots hitting another target that's not even in sight, imagine having a sniper of your own on one side of the map try to take out a potential scout, missing yet hitting another taget on the opposite side of the map that is also a scout, should your sniper be revealed due to this? With option 1 it'll be yes if they don't go down and with 2 it'll happen regardless of outcome.
My original script idea is now deprecated with this implementation, however, I think I might be able to repurpose some of it to work in tandem with option 1, allowing to conceptually have multishot actions that take out a target prevent the sniper mark. Still, as I've said earlier, handling multiple hit targets to determine if the mark stays or not won't be easy via scripts. On the other hand, this implementation now opens up the possibility of "suppressed" weapons that would work as if option 0 was active while either of the other 2 options are in use for other weapons. Not only that, but also the option of using weapons with tracer rounds for the enemies / aliens that will mark the target hit as scouted for snipers without having to use actual scouting units.