How to redevelop a production site?
It depends on what the enhancements you are making but the way I've done this same process before is to export the finished code improvements to a features module or other custom module from my dev site and use that to update the live site. 

You mentioned a few examples:


"adding tags" -> you could export the improved taxonomy and then import it on the new site using a number of modules, ex. taxonomy_xml or taxonomy_csv
"making a better menu" -> the features module allows you to export your menu and import on other sites
"dynamic blocks" -> easiest to just code these in a custom module (probably the simplest kind of module to write) and enable on the new site