To be honest, it's probably not enough to just block these scrapers if they are acting maliciously, people should just start serving generated content back to it and see how long it takes for them to catch on and fix the problem
In prior roles, I've worked at 2 of the largest US airlines that have gone through mergers. There are lots of hard-coded letters in decades-old code that help identify what's mainline, regional, and OA (other airline). We're talking everything from reservations (booking) to revenue recognition (flight departure).
It would be no simple feat to upgrade the tech stack. Hell, some of the mergers are still lingering within the systems because airlines wanted to complete it quickly for the passengers. The backend, however, has band-aids all over the place.
I was thinking about that very thing as well, but I came to the conclusion that robotic movement doesn't really need to match human movements. If you want to have consistent fine motor control, you wouldn't really expect things like acceleration when hitting with a hammer, or pulling down the top of the griddle.
This is a good question, and one that I've been thinking a lot about as well. I think the problem is that
A) there's a LOT more people using computers now than ever before, and
B) the entry point into "computing" has lowered, which means that users come to a piece of software with a wide range of expectations of both what it should do, and how it should do it, and
C) the complexity matrix of the form factors that people expect to use software has also grown in size, and
D) software grows in complexity in response to the needs of the users (B) and the devices it runs on (C)
E) tack onto the above is that you really have to handle N+10 things nowadays to have a proper piece of software (ie. i10n, security, UX, performance, etc.)
It's a bit of a cop out to just blame complexity, but it's almost impossible to have a small team write a (sufficiently complicated) program that does all the above, but companies want single-software solutions (runs on everything for everyone from new users to veterans) and users also expect it. So as a result, developers are overworked, users complain the software doesn't do what they expect (often for good reasons), and devs often end up resenting users because despite their best intentions, it's simply not possible (a lot of the time) to make something that satisfies everyone.