I don't get the hate. It's got a meaty story (for a Star Trek movie!), moral complexity, social commentary, great dialogue, the best direction since Star Trek II, less irritating humour, wonderful performances and a solid ending for the TOS crew.
All I'd have changed would have been to use Saavik (Kirstie Alley version 'cus she's sexy as hell!) instead of Valeris, give Sulu less screentime and give Chang a bit more depth.
I'd put it up there with the best of the film franchise. Generations is when the quality nose dives.