My usual first (and less drastic) solution is to name a configuration directory ${name}.bak, where ${name} is the current name. Most programs will initialize the config directory from scratch to defaults if it doesn't exist.

You can see what's changed (diff -r ${name} ${name}.bak), and/or copy back configs you somewhat want to keep (eg: bookmarks or keybindings, for browsers and window managers respectively).