When a system is broken, there is no patch, no tool, no framework, no novelty that can fix it. All of that can make it work for a while longer, and a little more, but in the end the system will still be broken.
So, if you are serious about making it work, the only way is to take a step back and have a look at the system itself.
It is painful, because it means that what you have done so far might have taken you somewhere you were not supposed to be. Yet, the alternative is to end up even farther away.