Если тебе нужно только прочитать чуть больше или меньше колонок данных - это я не считаю за разные выборки даже. Это неинтересно и правда, можно засунуть в JSON. Но тебе все равно надо несколько десятков-сотен сущностей соединять в разных комбинациях и делать выборки с разнообразными условиями.
Возможно, сегодня я бы как-то иначе это все проектировал, но уверенно скажу, что там не ужас-ужас, а только некоторые неоптимальности. Просто реально много сущностей разных по бизнесу.
Я скорее про сложные объекты (типа профиля пользователя), где искать надо по трем-пяти полям, а хранить сложносвязанные десятки. И вместо одной таблицы на 10 полей получается 30 таблиц