Best Practices for updates, settings, templates and other

When upgrading, I find I keep having to relocate my settings, templates and such (or downgrading due to issues related to support tickets) and would like a suggestion on how to automate this process. My ad hoc approaches simply aren't as convenient as I need them to be. Advice appreciated! Thanks