(I don't mean to make it sound as I think it's easy to solve, but the basic strategy to solving it is simple :)
And maybe catching/handling them properly would involve more sensors, when people really just want a well-trained human who is able to improvise in the cockpit.
It would be difficult code a machine to find a good landing spot in extremely variable terrain. For instance, I saw a video of a plane safely crash-landing landing on a four-lane highway with traffic. It would be impractical to code something to handle that very rare situation.
Even experience cannot be much of a factor on top of that, as very few pilots will ever experience a scenario like that outside the simulator. My layman's suspicion, honed in the MCAS debates, tells me that the only other thing experience and human "general intelligence and gut feeling" can add to the equation is educated guesswork regarding which data to distrust when things just don't add up consistently due to a malfunction.
> V_1 is the critical engine failure recognition speed or takeoff decision speed. It is the speed above which the takeoff will continue even if an engine fails or another problem occurs, such as a blown tire.[9]
* https://en.wikipedia.org/wiki/V_speeds
The plane has to keep going until V_2 (or V_2_min).
One thing that no doubt helped with Sullenberger was he was a hobby glider pilot where that kind of situation comes up regularly if in a much less dangerous way as gliders are slow and light.
Mandatory bad car analogy: a driver will often prefer a faster response over spending time to check the rear view mirror before slamming the brakes, a computer would never have reasons to do so, they can check without meaningful delay.