Как лучше хранить список GPS-точек в PostgreSQL 9.6 с расширением postgis?
Вы упомянули постгис, соответственно нужно использовать его формат geom через st_makeline(). Ну или geojson в постгресовских jsonb полях.
Это оптимальные варианты. Второй предпочтительнее для быстрой отдачи клиентам, а первый для фильтрации или обработки в постгисе. Так как истинный геоджсон может содержать несколько геометрий и надо писать кастомную функцию для преобразования в постгисовскую геометрию, я бы хранил и обрабатывал в постгисе, а в геоджсон или другой нужный формат преобразовывал бы опосля
Хранить точки отдельно - дрочево при достаточно большом количестве точек. Да и сами точки без трека никакой полезной информации не несут ведь.
Ваш подход гораздо лучше, как минимум тем, что в какой-то момент наверняка захочется сделать интерсекцию по трекам, ли выбрать точки внутри полигона. А с проблемой производительности можно бороться партиционированием таблиц, например по времени начала трека. Старые партиции стирать и перекидывать в архив. Ваш вариант как минимум гораздо гибче.