Действительно ли стоит избегать использования innerHTML?
"Перестройка" будет при любом создании/удалении элементов DOM, потери слушателей тоже нельзя избежать при создании нового элемента взамен старого, в любом случае надо переносить их вручную скриптом.
Задачи очень разные, может вы вообще новый контейнер создаете, а может нужно в старом изменить всего лишь один атрибут всего одного элемента, разумеется действовать надо по-разному.Все ли это остается так же актуальным и в 2016?
Зачем задавать такой вопрос, не проще ли самому попробовать, вас что, забанили там, где новые версии браузеров скачивают? И на caniuse, htmlbook и т.п. тоже забанили? Похоже, вы просто не понимаете, о чем говорите, вас интересует не как следует делать, а как одобряется сообществом. К сожалению, будучи частью социума приходится практиковать и второе, как говорится "для галочки", чтобы проходить собеседования и т.п., но, с другой стороны, если начальник будет разумным человеком, то его не устроят ваши мнения без понимания, а глупые начальники живут не очень долго, ровно столько сколько они заработали когда они или их предшественники были умными.
Если innerHTML использовать только для отображения подготовленного контента внутри контейнера, не изменяя структуру DOM'a, тогда ничего не изменится и можно спокойно его использовать.
А иначе - лучше использовать функции-манипуляторы DOM-объектами для сохранения целостности механизма работы браузера с текущей страницей.