Prática recomendada para usar $ rootscope em um aplicativo Angularjs?

Temos um grande aplicativo Angularjs 1.6 que possui $ rootscope espalhados por todo o aplicativo em mais de 200 locais em filtros, serviços, rotas etc. Por isso, ele precisa ser refatorado, mas não sei como saber quando removê-lo. Quando é uma prática recomendada usar $ rootscope no aplicativo?

Eu li tudo, desde nunca, até usá-lo para armazenar variáveis, que eu assumi ser para compartilhar dados entre controladores. Desde então, li que é melhor usar fábricas / serviços para este caso de uso e também li que um caso de uso válido é usar $ rootscope como um barramento de eventos global.

Eu realmente não vi isso explicado nos documentos do Angularjs.

questionAnswers(3)

yourAnswerToTheQuestion