I am using [fall0ut] PvE Combat Rogue v22.xml as my rogue profile and part of the problem stems from Stealth and Shadowstep. Since both can be used outside of combat, every time you target something--friendly or not--stealth kicks in and if Shadowstep is off cooldown--boom--you're behind 'em. My fix for it is to add a target checking LUA script to both of those spells to determine if the target is friendly or not.
Added to Stealth spell "LUA Script"
LUA Script: retV = UnitIsEnemy("player","target")
Return Value Search: 1
Return Value Var: retV
Now it doesn't go into stealth unless the target is "unfriendly." However, if for some reason you manually went into Stealth with a friendly target--boom!--say hello to their backsides. So....
Added to Shadowstep:
Have Target = True
Add "LUA Script"
LUA Script: retV = UnitIsEnemy("player","target")
Return Value Search: 1
Return Value Var: retV
No more out-of-control Shadowstepping.
If there's an easier way to control this, please feel free to post.