“Max iteration reached” occur frequently

I would suggest to enable line search to help the convergence of SQP methods (set globalization='MERTI_BACKTRACKING' and line_search_use_sufficient_descent=1), and print the statistics again. You might see the residuals to decrease slowly (sometimes too slow). But in general we cannot expect the solver to always converge to high precision (residuals goes to very small value like 1e-8) in a few iterations.

By my experience, getting max iteration reached is not a big problem. I can usually get reasonable solutions so I tend to ignore this warning.

About the ill-conditioned problem, this post might give you some hints: Solver sensitivity to weight parameter & solver options - #5 by Grunnet.