I like your algorithm 4. You set a floor below which the threshold cannot fall, and have no discontinuity at the point where you start using HDOP information. If the HDOP is a one standard deviation radius, then 3 standard deviations is a good threshold.