It's always as a project gets big you'll have to take care. No matter what CMS.
In case of images:
a. you can now in 2.6 delete variations for a image right in the backend. But that doesn't work for batch processing a whole site's images.
b. you can write a script to delete all variations through API, but that as soon as there's 1000's of pages involved you have to take care of memory, script time etc. Bit this if you own ListerPro (which I recommend all PW users should buy anyway) you can use and build an custom action that batches all your pages (or the ones you filtered) to remove variations. It's built with scalability in mind so it scales for millions of pages (just would take a very long time).
c. you can also use the API when using $page->image->removeVariations() to delete and force new generation of variations. Then use a template var to toggle that globally in your template. Usually a custom $config var would be best as it allows also modules to read it. This works fine when building a site and you want to experiment to get the best options. Maybe not always suited but something like:
$config->forceNewVariation = true;
The always use a code like this where you generate thumbs or sizes.
$img = $page->image;
if($config->forceNewVariations) $img->removeVariations();
$img = $img->size(100, 100, $options);
Of course this doesn't work well if you're live and have 1000 of pages. As you'd have to view all pages again to trigger new creation WHILE the setting is true.
Just a few ideas.