Angular UI-Router Repetitive templateProvider Using $rootScope
A better solution is to resolve the data in a parent route, then inject the resolved data ("identityResolve") from a service ("identity") into each child instance.

.state('app.auto', {
    abstract: true,
    url: '',
    resolve: {
        identityResolve: ['identity', function(identity) {
            return identity.initialize().$promise;
        }]
    }
})


Which then is used like this

.state('app.auto.public.inventory.list', {
    url: '/',
    views: {
        'auto-one@app.auto': {
            templateProvider: ['$templateCache', 'identityResolve', function($templateCache, identityResolve) {
                return $templateCache.get(identityResolve.version + '/html/inventory/list/index.html');
        }],
        controller: 'InventoryList'
    }
});