The primary reason for errors in the estimates of distance from the satellites is degradation of the signal sent from the satellite. Causes of the degradation include atmospheric conditions, effect of satellite location on the length of the signal path through the atmosphere, obstacles in the signal path, and selective availability. To minimize degradation due to atmospheric conditions, one can wait for clear, calm weather or some degree of that, and choose satellites well above the horizon, e.g. at angles of elevation more than 15 degrees. And satellite location can be determined in advance in various ways, e.g. from data easily available on the Internet. Beyond its effect on signal quality, location of the satellites also affects accuracy through the geometry of their locations with respect to each other.
Selective availability is deliberate degradation of signal imposed for reasons of national security.
The degree of degradation varies with the threat, perceived by those in control of the GPS system, posed by unmodified GPS communication, e.g. as a source of information for enemies of the United States. Removal of selective availability is now being considered. Assuming favorable signal conditions, absence of moving obstacles, etc. It is possible to improve accuracy by spending more than minimum time at a location in order to collect more data. Differential correction is a commonly used method for refining estimates of location and is generally more accurate than the method described above.