Overwrite default template in a theme

Permalink
Hey Community,

I know I can overwrite the default templates for blocks like this:
public function getThemeDefaultBlockTemplates()
{
return array(
'image_slider' => 'enterprise_image_slider'
);
}

But I want to use a custom template, even if the default template is selected. Which should also work if I change the theme afterwards. I accomplished this by using the following code in an area:
<?php
$a = new GlobalArea('Header');
$a->enableGridContainer();
$a->setCustomTemplate('autonav', 'topbar.php');
$a->display($c);
?>

Is there any way to do this for all areas in the controller / page_theme.php?