I lost all of my zlib settings because I stupidly ran out of disk space. One way to back these things up would be to use a revision control system like SVN. I should probably set up an automated job to do that daily.
I had local SVN repositories for various things but I never automated the check in/out to the point where "It Just Worked" so it was more trouble than it was ultimately worth once I stopped generating a lot of "personal" source files.
I did have some success with Dropbox. I was running mafia on multiple computers and it was a trivial way to synch scripts and preferences across machines. A side effect was that if I had a corrupted file I could unsynch until I got a better version from the other computer. Dropbox also has some limited versioning so I could also go back and get something closer to what was lost.
In a world where there are lots of cloud options, synching the mafia dist subdirectory to a cloud probably won't hurt although space considerations might be an issue with the sessions subdirectory.
In general writing a robust system that can survive a power outage is a high cost/high skill activity. Doing it reliably involves a lot of hardware and software redundancy.
I wasn't thinking of a cloud synch before because that too can fail when he power goes, but I missed the fact that it can usually provide a recent backup and that is certainly better than not having a backup.