Anti-cheat is an arms race. We just find ourselves at a point where the arms race has progressed to the point where the best known strategy for securing a play session means ostracising custom hw/kernel configurations.
But I have to think it's only a matter of time before even that's not enough, (since there already exist ways around kernel level anticheat, including AI-based techniques that are entirely undetectable).
My guess is the logical conclusion involves a universal reputation based system, where you have an account with some 3rd party system (maybe VAC) that persists across all games you play. It will watch your gameplay, and maintain a (probably hidden) "risk of cheating" score. Then matchmaking for each game will use this score to always pair you against other accounts with a similar score.
Actually, it might not be a "risk of cheating" score so much as a "fun to play with" score. From a gameplay perspective, it's just as fun to play against a highly skilled non-cheating human, as it is a bot that plays identically. But it's less fun to play against a bot that uses info or exploits that even the best non-cheating players have access to (ex. wallhacks). So really, the system could basically maintain some playstyle-profile for each player, and matchmaking wouldn't be skill-based, but rather it would attempt to maximize the "fun" of the match-up. If a player is constantly killing people unrealistically fast, or people who play with them tend to drop early, this would degrade their "fun" score and they would tend to be matched only with other unfun players.
I think this would be the only practical way to fight cheating without even more invasive methods that will involve just deanonymizing players (which I think some studio will inevitably try in the near future).