все просто, если вы инджектите скоуп в контроллер - вы делаете что-то не так. Нужен общий функционал - выносите в сервисы. Если ограничивать себя и допускать использования scope только в link функции директив, то жить станет намного приятнее. $rootScope же для объявления глобальных каких шорткатов в принципе допустимо дергать, но тоже как-то не очень круто. Обычно только для событий.