Here's what I've been doing for several years.  I don't claim it's the only way or the best way, but I like it.   It's not perfect but it has worked well for me over the years and many times has saved me from having to manually re-install everything.

1.  Two hard drives.

2.  Install Windows and applications to 1st drive (C:\)

3.  Tweak everything and get it just the way you like it.

4.  All documents, music, pictures, etc. go on second drive (D:)

4a.  Script runs once a day and copies everything in C:\Users\MyUsername to a backup folder on Drive D:  This makes a backup  of program config files, email, browser settings, etc.

5.  Make an image of Drive C and save to Drive D.  I really like Acronis True Image but there are other programs.

 If something gets borked and you want or need to restore your system, you just reload the disk image created in step 5 and then copy over the backup from step 4a.  Obviously this in not OS version independent, but I don't think there's any way of achieving that with some pretty complicated programming.