First of all, I agree with the developer's decision to disallow saving during combat. Save/reload cheating isn't much fun. It does ruin the atmosphere and takes away a lot of the "Oh, crap! I lost my best guy!" It becomes "Darn. Now I have to reload from two minutes ago. Next time I won't move my best guy in front of the window."
However, what about saving for legitimate reasons? What about if you're halfway through a two-hour mission and you need to stop playing?
The Fire Emblem games had a way of saving during combat without allowing save/reload cheating. After you saved, the game quit. When you resumed from the save, the save file is deleted.
For a PC, there's no way of preventing someone from copying the save file outside of the game, so maybe an ID system can be used. For each combat save file, there is an ID on the file and a corresponding ID in a table somewhere. If someone loads the savefile, then that ID is removed from the list and the savefile is deleted. If someone tries to load the savefile again (because they copied it outside the program) the game rejects it because the ID is invalid.
There should be a method to allow multiple campaigns, though. Perhaps the geoscape state is saved at the same time, and a player can choose the campaign save, first, then whether or not to resume the mission. (As far as I can tell, you can still reload from the beginning of a mission, right?)
Of course this method is not foolproof. Someone can hack into files to allow their ID. The source code is available, after all. However, that person needs to be technically minded enough to be able to do that, which puts that method out of the reach of many people.
On top of that, the source code is still public. They can just make their own version which comments out the lines forbidding invalid ID loads.
Or, if someone really wanted to save, they could just take a memory dump of the game in progress. I don't think there's any way of preventing that, even with the code that's there now.