But it always raises the warning with old scipy, if the user uses the defaults.

I would set `maxiter=None` in the signature
and copy it `maxiter_ = maxiter` 
and then assign the default
`if maxiter is None: maxiter=100`

more code but only a warning if the user sets maxiter