Как правильно сделать вкладочное приложение в angularjs?
Насколько я понимаю, ui-router, sticky states, deep state redirect с таким не справятся
В полне даже справятся.
Я бы  не делал вкладок как просто вкладки. Я бы сделал псевдо вкладки. Тоесть внешний вид как вкладки но у каждой вкладки свой шаблон.
jsfiddle.net/ktc067x1
В этом примере ты увидешь как можно обработать каждую вкладку отдельным шаблоном. Закоментированый код templateUrl грузит файл шаблона а для примера я использую template.
Но наверно захочется с каждой вкладной свой кнотролер. Тогда можно такcontrollerProvider: function($stateParams) {
      var ctrlName = "Controller" + $stateParams.tab;
      return ctrlName;
}
Тогда можно для каждой вкладки свой контроллерapp
    .controller('Controller1', function(){})
    .controller('Controller2', function(){})
И все будет красиво и акуратно.
Рабочий код: plnkr.co/edit/lnijKg?p=info
Идея:
* Использовать ng-repeat для ренеринга вкладок
* Использовать ui-router чтобы привязать состояния ко вкладкам и директивам с их содержимым
* Игнорировать ui-view, и контроллеры с темплэйтами
* Перехватывать переходы состояния для переключения вкладок из сервиса.
* Контент вставлять с помощью хитрожопой перекомпилирующей прокси-директивы.