меньше длительность $digest цикла - выше производительность и отзывчивость системы. Количество ватчеров к слову тут не причем. Только время за которое они все выполняются влияют (у вас может быть один ватчер который делает что-то сложное, и тысяча простых справятся быстрее).
В целом же... все что связано с обработкой данных (фильтрация коллекций, формирование других коллекций и т.д.) должно выполняться в сервисах (ну или на худой конец в контроллерах).
При выводе больших часто меняющихся коллекций использую track by (весьма редко на самом деле, только когда DOM часто перерисовывается).
Во вью же все должно быть максимально просто, декларативненько, никаких дико ужасных условий. В целом при грамотной архитектуре проблем с производительностью не много.
Ну и опять же. Никаких преждевременных оптимизаций. Запустите профайлер, найдите узкие места и тогда только думайте.