In Magento there is a functionality where you can define the order of total calculation by specifing before and after which totals a total should be run.
I decided to go with Plan B, overloading the getSortedCollectors... its straight forward and gives me absolut control, if course if I would introduce new modules I would have to check if I need to add them here