Thanks for all the advice, everyone.
There are two difficult things about this...first of all, it's going to be nearly impossible to get him to CHANGE his behavior. I think if I tried, it would be interpreted as me just trying to start a fight. He doesn't really take much advice from me unless it's on something he KNOWS I'm good at (like cooking or writing or something like that), so I doubt he'd listen to me on social skills (he knows I'm Autistic, and HE'S Neurotypical, and I've come to him multiple times for social skills advice).
I think he still sees me as a little kid. When we met, I was thirteen and had the social and emotional maturity of an eight-year-old, and HE was eighteen. I'm starting to catch up to him now, but I think he'll always see me as a little kid. When I press the issue, he might just think I'm trying to start an argument or give him a hard time, and if we fight it will probably just make him even less likely to change his behavior.
Regarding the most recent incident, I did tell him that I think he should have at least apologized and that his behavior hurt people who were already beaten down and sick of that kind of crap from their entire lives...but he didn't listen. Also, one time when he saw a black person and started making black jokes I told him he seemed racist and he said "So? Maybe I am." But he may have been joking--I can't always tell with him, or people in general. Another time he said that everyone's a little bit of a pedophile but when I freaked out (because I thought he was a pedophile) he said he'd just been joking.
The other hard thing is that he's so good in so many other ways...he's one of those people who will go way out of his way to do something he's completely not obligated to do to help someone, even if he's not super close with that person. He was there for me when I was recovering from some really messed up stuff and had to deal with a lot of crap from me, and now he's helping another friend with some really difficult stuff. I'm emotionally attached to him and I know there are a lot of good things about him and that he doesn't HAVE to be racist, so I'd hate to end the friendship for any reason. Then again, I've always considered racism a dealbreaker, and he's way to young to "get away" with being racist.
Ideally, I could find some way to get him to change his behavior without it backfiring and without losing the friendship. Otherwise, I don't know what I'm going to do...you're right that I might be seen as guilty by association. Sacrip, your comments make sense too (about people who are otherwise good people also being racist) and I've seen that in him...but since he is such a good person, I feel like he shouldn't HAVE to be racist, even if he's stubborn sometimes. I know another person who's good and has recognized some racist tendencies in himself and is trying to correct that so he won't be racist anymore. It's not perfect but at least he recognizes that it's wrong and wants to fix it and not hurt people...could my friend be like that?