I was wondering if there's a sensor that exists that doesn't measure rotations to determine speed but rather directly measures speed. I want the sensor to able to stay on a human or any moving surface and measure speed. I've used a NEO-6M GPS before to measure speed, the only problem however was that it was not very accurate.
Point a ADNS3080 optical flow sensor at the ground. Get one that comes with a lens. It's basically an optical mouse designed to operate above the ground instead of being in contact with the ground.
I would say it depends on what speed you are measuring. For example, airplanes use a differential pressure sensor to measure speed. But It wouldn't work strapped on a person or animal, also, the ambient pressure and density is important.
Another idea is to fuse an IMU with the GPS using a Kalman filter? I haven't tried it yet, but as I understand, it should be very accurate.
This is a good video to understand the basics of it.