I have a hard time imagining that a failed save could produce a project file that opens fine but is missing every bit of user content. I think there must be more to it than that.
in any case, another strategy for avoiding problems like this is to save each working session as a new version with the a version number or some note about what you did in the session in the file name. This also avoids saving changes you didn't intend and allows reverting to an earlier version to try a different approach to something. If you had backed up that bad project with the name unchanged, you'd be out of luck.