Okay, for one thing we don't know the "full story" on why Troi wore the outfit she did. The only reason why she changed is because Jelico demanded it and he only did it because he "preferred formality on the bridge." Keep in mind Troi's primary job on the ship was to be a counselor so it makes some sense she'd wear a non-standard uniform when dealing with patients (so they wouldn't feel they were confiding with a fellow/superior officer, but a friend or a mental health professional.) We also know that it was an on-screen excuse to get Marina Sirtis out of the bunny suit.
We don't know the history or reasons why Worf got to wear the baldric.
Was Riker being an ass? Yeah, perhaps, but considering who he was dealing with can you blame him? Ro was very, very far away from being a model officer and she was handed a very prestigious assignment, serving on the Federation Flagship. She was dismissive and indifferent to the command structure and acted as if the rules didn't apply to her. She was a heartbeat away from being dishonorably discharged and thrown out on her ass and probably thrown into what serves for jail/prison in the Federation. She didn't ask permission to wear the earring on to the ship, she just did it.
Troi's clothing -likely- was part of making her patients more comfortable around her. It was essentially part of her job not wearing a uniform; when acting outside of her patient obligations Picard allowed her to have some flexibility in the dress code, likely sometime after "Encounter at Farpoint."
We don't know how, when, or why Worf got to wear the baldric but it too was likely something he earned by being a model officer, obeying orders and not causing trouble. We can probably assume at somepoint he asked for the privilege to wear it.
Ro had none of this. She was a trouble maker, by record alone. You deal with trouble makers by doubling-down on the rules towards them even if it means being petty. Let her wear the earring without asking permission or earning the privilege she'll take that inch and go a mile.
That's what she had proven by the end of the episode, though, that she was an officer worth investing some trust into and she had earned some slack on the uniform.
This sounds like the best explanation, to me. Riker is very protective of anyone he considers his family. That includes the ship. Ro's attitude and past history probably put Riker on edge, and he may have felt she threatened the safety of the ship even by simply being there.