GPS дает достаточно сильную погрешность в моментальной скорости, особенно на неровном рельефе. Можешь заехать в Одинцово и спросить у тех, кто по трассе гоняет с ГПС - у них частенько скорости не соотв. действительности, ибо скорость там в 2D измеряется, каГбе со спутника)))
ИМХО самый точный способ - это веллер на дорожнике (лучше на трубках, т.к. у них самый маленький прогиб покрышки под весом) с
отстроенным велокомпом. Веллер лучше счетчика на колесе ролика, т.к. скорость вращения колеса велосипеда хоть меньше, зато стабильней и вероятность пропуска оборота датчиком минимально мала.
Скажем когда я отстраивал свой велокомп, на круге ВВЦ (5+ км) у меня получилась погрешность за несколько кругов в среднем всего 20м (0.004%). Что вполне укладывается в виляние по дороге, рельеф и прочие факторы (это (70..100)/2 (м) должно быть на самом деле). А дальше просто V = S/t и все

Велокомп с этой задачей вполне справляется
ЗЫ. Ток у велокомпа должны быть швейцарские часы, а то вдруг время залажает на 0.000хзсколько_милисекунд)))))))