It would help of course if the FMS database was programmed so that the HWS altitude of 3000ft was an AT altitude instead of an AT or ABOVE altitude.
VNAV would still put the aircraft slightly high on G/S at HWS if you followed it all the way down to G/S intercept in hot weather. The aircraft altimeter might be indicating 3,000 ft, but if the temperature is greater than ISA the true altitude would be slightly higher, putting the aircraft above the glideslope at HWS.
Why not take the aircraft out of VNAV earlier and use another mode such as V/S to make sure the aircraft intercepts the glideslope from below?
Just a thought...