The idea that science is self-correcting is a nice fiction spread by academics to absolve themselves of the need to reform. "Don't make us change, any problems will go away if you wait because science is naturally self correcting", they say. It's a silly word game. Academia, which is what they mean when they say science, is a human institution whose incentives lead naturally to rewarding bad behavior. Nothing in that system self corrects, corrections must be forced from the outside (or we give up on reform and dissolve the whole thing, a solution now actively being talked about in hardline right-wing forums).
Example: pre-registration does happen sometimes today, and it always happens for corporate clinical trials. It's a good idea that works. In the private case the FDA is the auditor and there's some circumstantial evidence that pre-registration may be the reason why pharma productivity flatlined around ~2000. But in a surprising number of cases in academia a study is pre-registered, the final paper doesn't match the pre-registration and nobody notices. Why? Well, who is responsible for systematically checking these things? It'd have to be auditors, but universities point the finger at journals and journals point the finger back at universities.
Papers calling out problems: it's been done for much longer than I've been alive. Doesn't work. People nod their head and say something should be done, then go right back to the bad old ways.
The only thing that can help is external force. Governments have to either defund academia and let science be done by the private sector, or they have to tie funding to passing rigorous external audits (by private sector actors paid to find fraud, not academics themselves). The latter has been tried a few times, the US ORI is an example of that, but it doesn't work. The ORI was set up on the assumption that academic malpractice is rare so its methods don't scale.