There seem to be two major problems some people are having here:
1. A lack of knowledge of how GPS really works; and
2. spherical geometry is hard.
GPS satellites travel in 6 well-defined orbits at an altitude of a bit over 20,000 km. They are not random, and not particularly fast. The orbital period is 12 hours, so the same satellites will be in about the same positions every 12 hours.
GPS uses the time-of-flight of signals to calculate the distance from each satellite and, knowing the position of the satellites (which the satellites tell you) you can calculate your time and position.
A satellite which is overhead will give you a good idea of your elevation but a very poor idea of your horizontal position. (Moving sideways will not change your distance from the satellite much.) Similarly, a satellite near the horizon due north of you will give a good idea of your latitude, but not much else, and so on.
Even if the satellites were randomly distributed across your sky, most of them would still be closer to the horizon than overhead. This is fairly obvious if you imagine we are the centre of the earth -- in which case only 25% of the sky is closer to overhead then the horizon, but because we are about one quarter of the way out to the satellites, and satellites below the horizon can't be seen, most satellites are much closer to the horizon than overhead, and so the accuracy of the elevation suffers.