I like having non-breaking spaces and a few other characters represented in my buffer as visible characters. The problem I have is that whitespace-mode seems determined to set the background color. In modes where the background color is different (for example, in src blocks in Org), the ordinary space characters are really obtrusive.
I can workaround this by not having those blocks appear in a different background color, but that seems like it shouldn't be necessary.
I've tried a few things that I've found by searching, but none appear to work.