TL;DR
Consider detecting corruption by a validating a save by running it through the load routine, in order to prevent multiple saves from being corrupted..What ?
After completing a save operation, allow gaming to continue, but in a background thread run that save through the load routine to validate there are no errors loading the save. If there is an error, warn the user the last save is potentially corrupted, and additional saves may also be corrupted. Recommend exiting the game immediately before additional saves are corrupted.Once detected, consider performing a backup of all 3 autosaves to new filenames, so even if the user doesn't understands and keeps playing corrupting all their autosaves, they'll have the backups to go to.
Why ?
After experiencing a save corruption issue I found several other threads and an entire forum called "0 / 1" that seem to be a variety of what seems like memory corruption that resulted in a bad save. In many cases multiple saves have the exact same corruption. I assume that some memory corruption occurs, and then it is written to each save subsequently during that gaming session until all the autosaves and the player's manual save contain the same issue. If it were disk level bit rot I wouldn't expect to see that pattern.Thus the next time the player loads the game, they find none of their saves load, and it requires someone with detailed knowledge to repair the save. So even someone who rotates through several saves might find in a single gaming session they've corrupted all of their saves unknowingly until the next time they play.
By performing a load routine validation of the save, this issue will be detected sooner(fail fast strategy) and assuming the user follows advice and exits, it prevents additional saves from being overwritten, allowing the user to go back to a previous save or autosave.
If there's something I'm misunderstanding about how this happens at a technical level, which invalidates my suggestion, then I would say in general try to determine if there's a fail fast strategy that would catch the issue sooner. Failing that, perhaps you could come up with a backup strategy for saves that makes a backup copy of a save to a subfolder when it successfully loads. This way you'd have at most one extra copy of a particular validated "good" save. Other backup strategies I considered could potentially overwrite good saves with bad ones. Overwriting the backup of the same name after a successful load means you'd have no more backups than you have saves, so it won't grow out of control or need to be managed. This would mitigate the need for intervention from technical staff to fix saves manually. Sorry if this violates the "multiple suggestions" rule.