Assuming a GPS unit functionally akin to the sort of thing we use on our bikes, the greatest source of inaccuracy is deliberate filtering of the logged position. For track racing, there's a vast difference between tracks recorded at one-point-per-second and those using the usual record-a-point-when-there's-a-significant-change-in-velocity algorithm. It's still pretty rubbish for the tight turns on an (outdoor) velodrome.
Once you've solved that with sensible settings, you're at the practical limit of a standard GPS receiver. Maybe 2-3 metres locational precision, surprisingly accurate absolute speed and one sample per second. I wouldn't think that would be sufficient for anything more than an arbitrary "how much the player has run around" metric for something like a hockey match, as much of their movement will be well above the Nyquist limit.
So yeah, accelerometers and such, sampled at a much higher rate would be more useful, though those won't give you an absolute position, and will likely make poor assumptions about distance travelled when algorithms designed for running try to make sense of someone scrabbling for a ball. Pretty good as a measure of activity, though, especially if you also have heart rate and whatever.
If you actually want to track a player's position on the pitch to sub-metre accuracy, I think you'd need some specialist equipment. Which may be little more than strategically positioned cameras and some clever algorithm, or transponders and such. I expect this all exists for professional ballsports...