I think fit_intercept=True is broken anyway in the sparse case since the mean is not substracted:
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/base.py#L90

In the long term, I think we should aim to remove center_data completely and fit the intercept directly. There will be a bit of work to support it in all solvers though.