I'm looking for ways to build early reader investment in an unlikable character who "learns better," but not until fairly late in the book. In particular, I'm writing a first-person middle-grade novel in which, among other flaws, the protagonist/narrator is often unconsciously (and without malicious intent) racist, sexist or otherwise offensive. (He does get pushback from other characters, but basically ignores it.) He eventually becomes a better, more self-aware person, but not until fairly late in the book.
I've toned him down quite a bit from earlier drafts of the book, but I still get the feeling he's turning people off early enough that they never get to the later parts of the book. (People who have persisted past the start have reported feeling more invested in the later parts of the book.) I don't want to sanitize him too much because a) his learning and changing is an important part of the book, b) these issues (racism/sexism) are ones I would like to address, and c) I think the portrait is a realistic one.
My sense is that perhaps people are willing to accept some flaws in their hero, but these are too "hot button" right now for them to be read past. Conversely, it especially makes people uncomfortable in a first-person narrator, since it's like going along silently with a racist buddy. What should I do?