Context is key, but even with that in mind it is ridiculous to run double standards. Both of my parents, on many, separate occasions, have called me a "faggot," among other things. Obviously, by context alone that was offensive and hurtful to me. Most times I hear slurs hurled at me, it doesn't mean a damn thing. And if it does, we can go from there. But again, as you said, you can't smear someone and then turn around and get offended when someone does it right back. It's all or nothing.
This age of SJWs is making a mockery of all that anyways. Some of these little shits don't understand just how good they have it and something as minor as not using their brand new, alien-sounding pronouns immediately after explaining them sends these people flying off the handle. It's things like that that have left me to dictate where I take my offense strictly to context.