I only use tidy for indenting and wrapping and it took some time to figure out how to completely disable the cleanup and repair options.
For example to disable default cleanup options I need
--drop-empty-elements no --drop-empty-paras no --merge-divs no --merge-spans no
Maybe it is a good idea to add "meta" options like --cleanup no/yes and --repair no/yes to have an easier way to complete enable or disable the cleanup and repair options.