I don't think that either, the mistake or the technical malfunction, as it has been on-going in MD-82's for a long time, could've been really avoided (in this particular case, more TOWS tests should've been required, but again, the TOWS could've failed just as well between the time they were tested and the time they were needed).
IMHO the poor design of the TOWS is a major contributory cause to this accident. But as many pointed out the money factor was predominant.
The TOWS is a simple ON/OFF system where no models are involved, just make sure that some conditions are satisfied. Is an ON/OFF logic, which could have been developed fool proof.