I think a good "out" would have been introducing Thomas Riker, his transporter clone, earlier in the series, and either writing William Riker out of the show as finally getting a command and having him choose a ship over Troi, or killing William Riker off altogether, and have Thomas Riker "join" the cast.
Then you would still have Riker on the show, just a different version of the character, with more room for character development, the "second chance" for Troi to have a relationship with Riker would make sense, plus you wouldn't have the problem of someone who should be a captain, hanging around as "co-Captain" of the Enterprise.
Definitely would've been a great idea! Will became rather stale (or in Troi's words, "matured")--I mean, his approach became more "cautious," less career-oriented...predictable. There wasn't much that could be done with him anymore. Tom, on the other hand, would've brought more mystery, more options, more exploration that also would reflect on could've-been for Will. They did waste Tom.
As for jerk or not? I'd say he was cocky in the early seasons, but understandably so, I suppose, with youthful ambition/vigor. But later, it came across more as bitterness with himself (bitterness that extended to lack of tolerance for others not in his clique).
- Sifting TNG character quotes like no one has sifted before. Each post consists of quotes, rearranged by sentence, to produce a delight/disturbance (based on character and episode).