One of the things that's really annoyed me (and I'm sure others) is the complete loss of a game save. Two recent instances where this has happened to myself: I completely lost a Fallout 3 save due to a save failure and I completely lost my Darksiders 2 game save due to a glitch (I picked up a sword I needed and when I loaded I still "had" the sword, but didn't have anything and couldn't move forward.)
To get around this, our game save system implements incremental saves. We tell the system that we want to save "DonnyAwesomeSave.sav" and the system will automatically create incremental saves for us each time we save. So, the first time it will create DonnyAwesomeSave.1.sav, then the 2nd will be DonnyAwesomeSave.2.sav, etc. There is a configurable maximum so that you're not creating TONS of saves (our standard is 3.) Then, the system will automatically rollback to the most previous save if the system fails to load (we display a message in this case, stating that the save failed to load and we are rolling back to a previous save.)
The system also provides a simply interface for auto-saves, utilizing the underlying system.
The other major thing I hate is trying to roundup all of my game saves when it comes time to move to a new computer/fresh install. So, the system has a built in mechanism for zipping up and exporting as well as unzipping and importing game saves. As noted, the export only exports the most recent version and the import cleanses existing files that match the imported file name.
There is still a bit that needs to be added, but for the most part it's all there. We'll be adding examples and such when we get some free time.
Could it handle games which try to implement permadeath by deleting saved game files? I had a game which did this but its save file also got corrupted. They tried to implement a "tamper proof" system which detects if a save file has been overwritten with an older save file, but I didn't put enough time into figuring out where or how that meta data was being saved.