I stopped reading six pages ago because I didn't feel like discussing rape, so I jumped forward to the last page . . . to see that we're still discussing rape.
Oh well, if you can't beat 'em . . .
Obviously Ramsay was going to rape Sansa and be even more horrible about it than most rapists are. Anything else would have been out of character.
The rape had to happen. Should it have happened off-screen?
Why? To protect people's delicate sensibilities? Hmm, yeah, okay, I can see an argument for that, actually. For any women who've actually had any kind of rapey experiences, it's probably pretty terrible to watch something that brings back the memories. Maybe it wouldn't have been quite so bad off-screen.
There's more merit to that argument than I expected when I started typing that last paragraph.
But for the rest of us, the fact that the rape scene was so emotionally distressing means that it was not gratuitous. We already hated Ramsay and we already felt for Sansa, but not this much! The scene succeeded in intensifying our feelings about those characters, which makes us care more about the story, which is kind of the whole point of storytelling, I think.
There is a point where a character like Ramsay can do so many terrible things, one after the other, that we get emotionally desensitized to it; it becomes old hat; our reaction is dulled. At that point, it's gratuitous. But we weren't there yet before that scene. JMHO.