There is no way to fix a corrupted computer data file, I'm afraid - it's like trying to unscramble an egg! And addition, Ironman saves are encrypted so can't be edited even when not corrupted.
As for what caused it, well, it's just a data file like any other and so liable to hardware or software glitches that can corrupt files. If for instance the game or computer crashed while playing, the game may have been part way through writing out a new save file when it happened so part of the file is new and part old.
There's not much you can do to prevent it aside from regularly making copies of the save files, so you have something to revert to if the worst were to happen again.
I am very sorry this has happened to you!