Clearly, extra electronics would have helped to improve identification - or so one might think. The Vincennes was fighting small Iranian boats, and made a high-speed manoeuver that caused chaos in the fighting systems control room. IR655 was off-schedule, and flying towards the fight. So much for sophisticated electronics solving the identification problem. Now to a current theme.
Most CFIT cases happen on approach to an airport, and usually involve human error.
CFIT is a big killer. Put in more electronic helpers. But this can also go wrong. The report on the CFIT crash at Cali in late 1995 included as causal factors an FMS database ambiguity and an FMS function that caused pertinent course information to be erased which would likely have highlighted a misapprehension by the pilots. No wonder the FMS didn't help.