Нет ничего плохого в различных видах представлений, есть неверное применение. Нет такого понятия, что таблицы сами по себе — зло. Зло — таблицы в качестве основы построения страницы. И корень этого зла вовсе не в таблицах, а в голове того, кто применил такое решение.
А что если заменить на div display:table-cell?
Это — одно и то же. Чтобы вы понимали, сами по себе HTML-элементы не обладают никакой визуальной информацией. Все метаморфозы происходят по причине так называемых
правил по умолчанию.
Это значит, что элементы TD и TH будут обладать display:table-cell по причине применения к странице этих правил, а не потому, что они изначально такие. Если вы примените это к своим элементам, ну теперь ваши элементы также будут обрабатываться как ячейки таблицы.
Помимо жёсткой структуры таблицы съедают ресурсы браузера на их обсчёт. Даже table-layout:fixed иногда не спасает.