I've been to somewhere around twenty metal shows, mostly bar shows as they're simply always better than arena shows, and every single time, with absolutely no exceptions, someone got grabby in the pit, the frontman of the playing band would literally point them out and have us all pound them. Not once did I see that behavior go unpunished. Guess it depends on the kind of shows you're at :/, but in my experience, and it's something my best friend has told his wife and daughter as well for the past twenty years, just as I have, a pit at a metal show where the band aren't shitheads is the safest place for a woman. I would agree that you do need to at least have enough mass that your spine doesn't snap like a twig when a two hundred pound lad shoves you, but I've never seen guys shove women as hard as men in the pit, they always hold back just like I do. I don't know man, I think it's pretty safe, and I'll continue to espouse that, but I see your point too.
Now, a punk show.....very fucking different story. I went to a punk show and they were literally elbowing each other in the teeth, ripping girls shirts off, a dude pissed in the corner of the bar, just bedlam. I love some punk music, (not much), but unfortunately punks are just absolute scumbags way too often at shows, so I'd never recommend women mosh at a punk show, and though I haven't experienced one personally, I'd say the same for hip hop shows with the crazy shit that we've all seen happen in the past few years with people getting trampled to death at hip hop shows and what not.