XCOM uses a technique that Firaxis also used in Civilization games since Civilization III to prevent save-scumming: the seed used to generate psuedo-random numbers is saved along with your scenario, so when you reload and do the same actions again, the exact same results will occur.
It seems like a strange thing to do, and directly against a meta-game tactic that players may use to achieve desired results in a game. It merits an examination of save-scumming as a result of game design; when does it happen and why? How can we avoid it--and should we even try?
The practical definition of save-scumming is somewhat controversial. I think the safest way to describe it is "using a save-game feature to manipulate the outcome of events by repeating the same passage of play until you get the results you want." (If you think I'm missing a key part of the concept, please let me know in the comments.)
In order to predict save-scumming behavior in a given game, we must come to an understanding of why a player would even want to save-scum. Save-scumming isn't a particularly fun thing to do in a game: it consists of the administrative tasks of managing saves and, in many games, repeatedly sitting at loading screens, and repeatedly doing basically the same few actions in the same context. This is the kind of repetition that I think most gamers would say games should dispense with all together, yet gamers find themselves obliged to do it.
So why would anyone save-scum?
When the consequences of failure in a game are significant and may snowball into large amounts of player-time loss, save-scumming becomes a common behavior if the saving mechanics permit it. This is a natural defense mechanism, and actually fits the original purpose of saving your game, which is to prevent the time-loss caused by having to replay the game from the beginning every time you boot it up.
I argue that save-scumming is a reaction to poor game design. Game designers are responsible for the level of fun optimal play allows their players. If optimal play involves save-scumming, I believe the player experience is usually compromised by optimal play--I don't find the administrative juggling of save-games to be fun. The best games benefit from forcing the player to accept failure and work within the confines it may impose. This isn't easy to do in game design, though, and most mainstream games have no interest in even trying because it's just too potentially dangerous to marketability and accessibility. The Demons' Souls and Dark Souls have had partial but notable success in this area, which may begin to turn the tide.
Players will save-scum when they feel that is the only way to play optimally and prevent what they feel may be excessive time-loss. I would not fault players for this behavior, because it could be made impractical or avoided entirely by alterations in game design. Games should only allow save-scumming when it's designed into the content and systems. Failure can be an enriching experience that does a great job of contextualizing success, though, so I would not advocate designing save-scummy games just because it's easier.
Games that force you to save and reload frequently can seem save-scummy, but frequent saving and loading may be an important design feature in certain kinds of games. Some games are intense tests of the players' ability to execute maneuvers with a low margin of error. Super Meat Boy or I Wanna Be The Guy allow you to keep trying the newer-to-you parts of the game without having to ceaselessly replay hard parts that you've already struggled with and overcome. A save point can be a reward in such a case, and I hesitate to claim that the constant dance of failure and automatic reloading is save-scumming. It seems to fit the design of those games well, and, as such, shouldn't have a negative connotation attached to it.
Limited player agency may also push players to desire save-scumming. If you get a series of bad dice rolls in an RPG that causes some serious consequences, it's understandable to be upset and feel that the game is being unfair. When I play Madden games, I often have a strong desire to quit the game because some ridiculous event occurs during play that is so unrealistic and unpredictable to me that I feel it has compromised the representation of football. Sometimes it's just an emotional reaction to throwing a dumb interception, but most of the time it's from terrible dice rolls or omniscient linebackers who behave as if they can see out of the backs of their helmets. When a game disenfranchises me as a player, I don't have any qualms about reloading a save and trying again. If a game is well-designed, you shouldn't feel the need to reload in this fashion.
But what if you want players to accept the results of randomness and incorporate the variable nature of results into their strategizing? You can build in re-roll mechanics so that players can even take some agency in randomness and don't feel like they have absolutely no recourse against results that are obviously out of their control. You can also place a barrier to save-scumming by doing what XCOM did: store your random number generator seeds with the save-games to make it impossible to scum on that scale. A little push in the right direction can break the spell of save-scumming and let players have fun playing the game as it was intended.
Saving mechanisms in games provide a way to mitigate time-loss, but also let the player do some repetitive result-selection outside of the game mechanics that can lead to optimal play being boring. With careful design, I think we can remove save-scumming from the games we make, and continue to use saving for its intended purpose and not as a perverse optimization tool.