The thing is, I dont think it has ever been worse than wow classic. Back in original wotlk/cataclysm, I have never seen as many bots anywhere. Sure bots existed, but it was something rare enough, that I would tell my friends about having seen a bot/group of bots, simply because it was not a common occurrence.
Today obvious bots are visible nearly everywhere in classic: battlegrounds, entering/leaving dungeons, open world ressource farming spots. It takes a minute to spot a suspicious character and another minute to confirm its a bot.
Even assuming the technology to spot bots does not exist at all, if Blizzard was interested, they could remove bots by manually banning them. Lets say to be totally sure, it takes a gamemaster 5-10 minutes to spot a bot, thats 6-12 x 13 EUR each hour, that the botters would have to reinvest to keep the number of bots going. That would be more than enough money to cover the costs for new “anti-botter” employees.
Once the number of bots goes down, because botting is no longer profitable for the botters, Blizzard can reduce the number of employees until, in best case scenario, only one employee is needed, because most of the bots are gone. If we reach that state, then bots would no longer be visiable, no longer be considered a problem.
As you can see, there are seemingly simple solutions, that should even generate money for Blizzard short term and make the game nearly bot-free long term. However, I dont see any improvement and ban waves have proven themselves to not be effective at all. This is because the botters can be sure after a ban wave, that the majority of their accounts wont be banned for a few months at least and creating new bot accounts will result in profit.
What leads to the common conclusion, that Blizzard is not really interested of reducing the high number of bots in the long run. As long as less real players quit, compared to bot accounts paying, bots boost player numbers and Blizzards income. Since Blizzard is a profit oriented company, not effectively banning bots can be considered reasonable.