This. One can put their effort on setting up configuration management script that is likely to work time and again, or one can spend the time on creating upgrade magic that might possess undefined behaviour.
Everyone is naturally free to choose ... as long as they assign blame truthfully.
[Edit]
The configuration management implies that configuration is not stored in a machine; it is applied to a machine. Management is hosted outside a machine.
This also implies that user data is "not part of the system". User data could be on separate partition (that needs not to be overwritten due to OS install). For example, on network share.