In OpenXCom's options, there is a choice regarding save scumming. That might be your issue?

If you don't have save scumming activated, saving, doing an action, reloading and performing exactly the same action will have exactly the same outcome because the computer's random number generator will generate the same number. So if you have a sniper with a 99% chance shot, save, take the shot and miss, then reload and miss again, and again, it's normal, your computer generated the 1% chance of missing for your next shot and that was saved when you saved the game, so when you reload and try again it sill will miss.

Ways around this include: perform a different action after reloading the game (ex.: shoot with a different soldier), then come back to take the shot with the sniper. It will now use the next number in the random series, which will likely be a hit. Of course, that's "gaming" the RNG.

The other option is to allow save scumming, which means that every time you load, the computer will start on a new random number series, and in that case, loading then taking a shot multiple times should produce results close to expected.