Битрикс: как скрыть пункты меню с пустыми разделами?
Напишите скрипт, который будет проходиться по всем разделам и деактивировать пустые разделы. В случае, если в деактивированном разделе появились элементы, то активировать обратно. Запускайте скрипт по крону.
Лучше меню каталога сделать на catalog.section.list
В самом шаблоне делаете проверку, если количество элементов = 0 тогда скрываете пункт
style="display:none;">