Как вам вариант завернуть каждый элемент ngRepeat в объект?
т.е.
- Scope 1 < скоуп контроллера
--- Scope 2 < 1-й скоуп ngRepeat object.profile
--- Scope 3 < 2-й скоуп ngRepeat object.contacts
--- Scope 4 < 3-й скоуп ngRepeat object.anythingelse
тогда в любом из скоупов вы обращаетесь к предыдущему через object
находясь в ng-repeat="contact in object.contacts"
вы используете ng-if="!!object.profile.name"
Пример на Plunker
Сообщите, правильно ли я понял цель. Спасибо.