Где лучше хранить пользовательские настройки?
Если настройки хранятся в той же таблице что и пользователь и их много, то это лишни  затраты при подкачке объекта из БД в тех случаях когда настройки не нужны. Например, пользователь дергается каждой страницей для того чтобы проверить его привилегии, при этом в нагрузку вы еще и 50 параметров вытягиваете и создаете для них объекты.
Плюс hstore и поля с json - не нужно менять схему БД при изменении состава параметров.
По hstore: минус - привязка к PG, плюс - производительность и обещают что в следующей версии допилят полноценный поиск и индексирование по полям из hstore
Вероятно вам не придется искать пользователей по определенным полям в параметрах.
В таком случае, можно завести таблицу с ключом  - id пользователя, и строкой параметров в JSON формате, то простое решение, но плохого в таком подходе ничего нет.