Hey Kevin.
I got a little hooked on your problem and tried to understand it. I tried to due some simulations on the systems that look like your system.
First of all I tried atomic nickel and atomic copper with single zeta basis and they both works fine.
Then I tried making a nickel bulk system that looks like the one you are modelling - just without the chain, and it works really well with SingleZeta.
The same for a copper chain worked perfectly, so I tried to combine nickel and copper into a sample system. Making them into a diatomic wire,
in order to understand what makes copper and nickel so unhappy when put together and I found that the way to make them work together is
to use a slightly higher mesh-cutoff.
An my conclusion is then:
Nickel and Copper has a very small difference in the atomic configuration and hence the basis set is somewhat similar, this lead to the fact that when determining which orbitals should be occupied or not, can be tough for the mixing algorithm to settle. Therefore if you increase your mesh-cutoff to 200 or 250 Ry, you can properly be more loose on the other parametes and still get convergence.
I have attached my three test scripts that I used for tracking this one down.
test_1.py is the Nickel bulk system, that converges straight away.
test_2.py is the Nickel/Copper chain with default mesh-cutoff, that does not converge in 100 steps.
test_3.py is the same as above, but with a mesh-cutoff of 200 Ry, which converges in 14 steps.
I hope this help your further.
Edit: Forgot to attach the scripts.