There is a usefull utility WinsxsLite that worked fine for my laptop and Windows 7 x86 before I installed Ubuntu. But unfortunately the program failed on other PC having Windows x64 installed and broke the folder. After a small diagnosis I found that only .Net framework installations were broken and hoped to fix it without reinstalling the OS. But unfortunatelly system recovery didn't help, there were no valid restore points and I was unable to recover WinSxS folder using a clean installation done using VirtualBox. After all the efforts I was forced to reinstall the OS and migrate all user profiles to a new installation. The only downside of the new installation is necessity to reinstall and reconfigure all the applications. The easiest to configure were the applications which store settings in a file in user's directory (by the way it's the only appropriate way in Unix), that worked like a charm. Other applications store their settings in registry, it was a bit harder, but can be resolved by replacing ntuser.dat files in the user profile directory and than adjusting permissions of the registry paths using regedit. And the third part of applications require complete reconfiguration. It is applied for MS Office for example.
After all this things my personal opinion that no program should use registry to store its settings.
PHP web developer, python developer