Большинство недочетов, указанных на stackoverflow, исправляется грамотно построенной бизнес-логикой. В этом можно убедиться на примере того же Magento.
Единственное, что стоит отметить — при переходе на EAV нужно оценить, стоит ли игра свеч.
Если структура категорий и/или типов товаров относительно постоянна и редко изменяется, то имеет смысл использовать flat tables (то, что у вас указано третьим вариантом), т.к такая схема намного производительнее и проще в реализации.
Если же структура каталога очень динамична, то стоит использовать EAV, т.к. в этом случае будут сэкономлены ресурсы, которые тратятся на alter/drop-запросы в flat tables. Но при этом нужно будет хорошо продумать систему кеширования, т.к. удельная сложность выборки данных по одной сущности ощутимо больше, чем в других схемах.
Сам очень давно выбрал для себя EAV и еще ни разу не пожалел об этом.