Seems to me, there's a key difference between using a potentially derogatory word when describing oneself / one's own group vs when describing others. When describing oneself / one's own group, using such a word can be reclaiming, even liberating. When describing others, especially if with derogatory intent -- not so much.
This applies to many words -- spazz, the n-word, the r-word, queer, crazy, slut, etc.
As for male rappers using derogatory words for women -- yeah, I find that very offensive. By the same logic,, a woman can call herself a bitch, ho, etc, if she wants to, but a man should not describe a woman that way. But I'm not part of that community so I MYOB.