The most recent accident seems to be the result of error on the MetroLink engineer's part.
Clearly we need more foolproof ways of keeping trains safe that relying on humans to see signals. The technology to do this is not new. Many transit systems (like the Key Route) had ways of stopping trains automatically in the first half of the 20th century.
It seems like some sort of device to stop trains (or at least sound an alarm) based on GPS and/or wireless connections to central dispatching could be added to existing locomotive fleets cheaply and easily.