Или есть какие-то более точные методики?
Есть!
Самый правильный подход будет заключаться в том, чтобы зная, по какому закону двигается тело, зафитить значения координат соответствующей функцией и найти параметры этой функции. Затем просто подставить эти параметры и время в функции скорости и ускорения. Например, есть груз с пружиной на стержне. Есть масса, есть жёсткость, есть трение (вязкое или сухое), через эти параметры описывается траектория (синус или синус на затухающую экспоненту или куски синуса, сшитые вместе) и точки фитятся функцией, задающей эту траекторию (она может быть кусочно-заданной, как например, в случае сухого трения). Одно
очень важное достоинство этого метода в том, что когда измерения координат содержат случайные погрешности, то при фите их влияние взаимно уничтожится. Не до конца, разумеется, но чем больше точек зафичено при фиксированном уровне шума, тем точнее будут искомые параметры системы, и, соответственно, находимые затем величины скорости и ускорения.
Если же закон движения неизвестен, то придётся выкручиваться. А именно, выдумать свой закон движения, который будет подходить под имеющиеся данные. Тут всё будет зависеть от характера данных и от компетенции человека, который их обрабатывает. Одним из универсальных фитов являются сплайны. Это куски полиномов, гладко (до определённой производной) сшитые на месте стыков. Сплайны дают хороший баланс между редуцированием данных (для устойчивости к шуму в координатах) и сохранением ключевой информации о движении. Разумеется, бездумно их применять нельзя. Например, координаты бильярдного шара в процессе его движения не являются гладкими функциями: в моменты удара скорость шара меняется скачкообразно (ускорение в процессе удара практически бесконечно по сравнению с трением качения), и это придётся отдельно учитывать.