Тут проблема в том, что сложно найти универсальное решение, которое подойдет всем.
У меня слои всегда слиты с рамкой в один смарт-объект, т.е.:
1. Каждая физиономия - отдельный слой (а не группа слоев).
2. Портреты и виньетки подписаны одинаково (или имеют одинаковую часть имени).
Виньетку раскладываю так, чтобы один ребенок остался в стороне. Затем складываю крупные портреты стопкой (это не представляет проблемы, т.к. у меня что рамка с подписью, что портреты - это по сути один и тот же заранее подготовленный файл). После этого использую 2 своих скрипта, которые есть тут на форуме. Одним скриптом последовательно переключаю слои в портретах, другим скриптом нахожу соответствующую морду на виньетке и вставляю поверх нее лицо ребенка, который не попал в виньетку (то вся раскладка остается на месте, при каждой итерации заменяется один ребенок).
Способ универсальный и подходит для кучи разнообразных раскладок макетов (в том числе для ситуаций когда ребенку нужно подкинуть определенные кадры режимки), однако требует подгонки рабочего процесса под 2 условия которые я написал в самом начале.
UPD. В примере я тупанул - после настройки экшена, конечно, нужно было убрать девушку с виньетки (т.е. привести документ к исходному состоянию). Получилось что ее виньетка дублируется, но на суть подхода это не влияет.