Just one point to clarify, Humidity has nothing to do with Density Altitude.
Density Altitude is pressure altitude corrected for non standard temperature.
In my day job, we use some back of the napkin math to get these numbers:
pressure altitude = (standard pressure - your current pressure setting) x 1,000 + field elevation (or in our case, the firing position altitude)
density altitude = pressure altitude + [120 x (OAT - ISA Temp)].......ISA temp is 15C with a 2 degree lapse rate for every 1,000ft in elevation increase. So if you are at 6000 ft pressure altitude the ISA temp is 3C.
The bottomline, you cant get an accurate density altitude unless you know the pressure altitude you are firing from. But with the absolute pressure (aka Station pressure, that is the uncorrected pressure where you are at) and the current temperature, you are getting the exact same result. For you and your GPS, you can use the GPS altitude as the field elevation and get pretty damn close using the two formulas above if you choose to do it the way WaltHer does it above.
In the end, it matters not. as long as you understand the output and you are consistent in your methodology, the results are the same.
as far as humidity, the 50% rule is what I use as well.