I dunno, in my experience, competitive players don't take any lip from Spies. They watch their backs routinely and unless you can catch them falling into a predictable pattern with their checks, they are pretty much going to splatter or bone saw you every time. Pro soldiers can gib a spy seemingly instantaineously unless you're just gonna dead ringer them.
The problem is, any competitive medic is checking the flank every few seconds when he doesn't have to retarget his heal beam for whatever reason. His Soldiers are infront of him, he's not gonna fall for slow scouts, and it's hard to sell him on you being his Demoman. Of course, no crits makes a medic a lot less dangerous to a spy.
Now, it's still possible, but it takes a careful study of who on their team is dead and could be believably back from the spawn room at any given time. Plus, just running up behind them is rarely gonna work, you're only option is to get them seeing you act like their real teamate would for long enough that they are willing to run past you and THEN go for the stab. An other problem is that there's only so many believable costumes at any given time that they aren't just gonna spy check immediately every time, even if they are engaged with your team when you walk up. In fact, a lot of the time there's only one logical choice for you, and smart players on their team often know this and so they know exactly who they have to watch for at any given time.
So your odds are pretty slim to begin with and then add on to that just the usual understood bad luck of completely random checks and you're in for a pretty miserable situation. I'd much rather play a class that can at least chip away at them and actually has some health behind it rather than go in for all or nothing attacks with my enchanted feather armour as my only defense. A good sniper has a much better chance of dealing with that medic