I know there are a lot of cheaters in MM, faceit and other leagues especially recently, but 20 in a row? I'm sorry to sound like the typical elitist idiot but you are mistaking higher level players on alt accounts for cheaters.
Hell I even do it plenty of times, but at the end of the day you simply can't say for a certain that someone is cheating. Especially while you are mid game, even while watching a 32 tick demo it's gonna be pretty damn hard to tell a lot of the time, unless they don't care and are just blatant.
Perfect example is a faceit game I was in last week, some guy on the other team was destroying me with Awp (I've played primary awper in many teams since 1.6), which just doesn't happen consistently. I was (in my mind at the time) 99% sure he was a hacker, getting angry and frustrated at some of the utter nutty Bs shots. Looked at his profile at it turned out it was Key'd Stars primary awper Zqk accompanied by his quarter finalist trophy on profile.
It's easy to call hacks on someone but in reality all you are doing is making yourself (and maybe your team) tilt, regardless of if they are cheating. Just report and keep playing.