First, I think these systems ignore technical realities, and design has to pay attention to real-world constraints. Blocking cheaters is insanely hard, and almost no real-time games that I know of do it at what I believe is an acceptable level.
It's a nice idea that I don't think is technically supported, in the same way that it would be a nice idea if my photorealistic MMO didn't have loading screens anywhere and loaded everything instantly. It's not good design to spend a bunch of effort hinging your game design on something that's not technically possible for you to do.
Second, I think these systems ignore player incentives. I think that global competitive ranking encourages the worst of playerbases, that skill is an arbitrary mechanism to optimize on instead of something like how close each match was, or player-reported satisfaction levels, or variety of play-styles, or any other of a dozen other metrics.
Third, caring about bots radically shrinks your design space. You can't have exploits, players have to have a "right" way to play, modding has to be more limited. It shrinks the game not only in the sense that it makes your systems more complicated -- it fundamentally shrinks what your game can do as a game, and how your game can evolve with the rest of the medium.
Finally, not only is skill not a particularly rewarding metric to optimize on when what you really want is for your players to have fun, most of the problems with automation explicitly only are a problem for competitive matchmaking. If you're optimizing for player-reported satisfaction, you probably don't care if people are botting your game, because successful bots will be optimizing for creating good matches instead of for just winning[0].
Personal plug, with my current project, Loop Thesis, LAN play is the only multiplayer. I only want people to play with friends, and I'm not trying to build some kind of community or network. That decision has simplified my architecture so much, the game is so much more modder friendly, the networking code is so much simpler, everything is nicer, and more stable, and more player friendly, because I don't have to care about bots and cheaters.
Future games that I make, even if they include global matchmaking, will not have global competitive rankings. My personal take now has become that 90% of the time these systems are a design antipattern.
It's counterproductive. I want players playing my game to have fun. I have to ban bots because they make the game not fun. The reason the bots make the game not fun is because all of my design hinges fun on giving players an optimization problem that I explicitly don't want them to solve in creative ways. The bots are solving the optimization problem too well. So getting rid of that optimization problem, getting rid of the rankings, makes so many other design/engineering problems go away. The bots aren't the problem, the optimization problem is the problem.