Too often i see steals being lost instantly after being applied due to random factors like projectile still being in air and hitting your target the moment you get random proc on you (like last refuge on thief, or engis stealth on immobilize and so on). Same goes when somebody blasts smoke field near you, nobody gets stealth at all, it’s lost instantly due to damage of blast itself. It adds random uncontrollable element to your supposedly competitive game because some builds are heavily realiant on stealth to do anything.
So, how do we fix it? I’d say you should add 0.75-1s UNBREAKABLE stealth on each application, which should disable all skill usage though, to avoid stuff like thief going stealth>instant backstab>stealth not lost scenario. You can however disable only stealth abilities of thief for that duration, i guess it would work too, but that’s debatable.
Thing is though, that 0.75-1s unbreakable stealth is a MUST in game with such unpredictable and borked stealth mechanic.