A truism for any system : It can always be better than it is. (Or put another way, nothing is perfect.) The Lion Air crash (or perhaps even the adverse events before that) convinced Boeing of the need for improvement in this area.
But it takes a long time to prepare such things for release. Months generally, just to reach consensus on what should be done, (which hopefully includes systems writing a detailed functional description and every stakeholder reviewing that description in detail). A few weeks to actually code, document and unit test the change. Then more months of regression testing, just to make certain the change did not adversely affect any other feature.
A typical case (IMO) of software being asked to work around a hardware problem ...