Maybe this has already been considered but what if there were a device that was/could be attached, for instance, to the HRM strap, and that kept track of (upper) body direction changes, in order to aid the GPS device to calculate distance (and speed)? My thinking is that this device would give constant feedback to the GPS device. We all know that GPS points have a spread, but if the GPS device were given concrete info that the runner (etc) did (or did not) actually change direction, and when in time, then (my thinking) this would help the GPS to know better when to discard or keep each GPS point. It most probably has to be tuned and optimized, perhaps even like to footpod, individually.
What do you think?