Cabal has its problems and it primarily stems from a lack of any good "this is how you should use it" guides. Cabal is not a package manager!
I cannot force you to like something but I will say this in the hope that you re-evaluate your judgement: if you still think Racket is a much better experience than Haskell and its ecosystem, you likely haven't experienced Haskell in-full. I know both languages and I've used both in production software (including many other functional languages) and I can say without any doubt in my mind that I will never select Racket over Haskell for writing software, if presented the choice.
Are there glaring warts in the language? The ecosystem? The tooling? Sure, nothing is perfect and one can easily point out many more warts in other technologies that are far more popular.