We currently handle it on a route by route basis as there are many resources which don’t change the outlet and just use their parent’s ones. We have two or three different outlets which we update on a case by case basis - contextual navigation, header content etc…
If every resource has its own template for the outlet then something like your example would work well.