Better airmanship MAY have avoided this accident but a serviceable RA WOULD have avoided this accident.
No, a serviceable RA may have just delayed this crew's accident to another day, another situation.
Radio Altimeters, ILS receivers, and IRUs, being part of a Cat III autioland system, are thoroughly analyzed for safety such that an annunciated failure is acceptable; an unannunciated failure is not acceptable. The RA is a simple sensor that outputs what it detects, and it does a fine job of that. It, however, is unable to detect the difference between a valid ground return and leakage between its antennas, due to corrosion or other factors. That falls into the area of Undetected Failures at a system level, a big no-no.
The autopilot and flight director computers receive inputs from both or all three radio altimeters, and compare to decide if there is a fault. The fail warn output of each sensor make it easy most of the time, and the 737 autothrottle computer looks no further, so does not compare values from RadAlts, but merely uses #1 until it puts out Fail Warn.
A pilot, who could see the #1 RadAlt error, could have disengaged the circuit breaker on the #1 RadAlt as soon as it occurred (high on the approach or before), and would have avoided misleading the A/T computer, the GPWS, the pilot during final approach, and probably other devices.
I don't care what your SOPs are with regards to disengaging CBs, I'm merely stating a fact. Too many of you don't remember the early days of EFIS and FMS, where resetting a Circuit Breaker was a usual means to reboot a wayward system.
GB