This is actually a major component of bot use for f2p games. A lot of companies try really hard to prevent anything that looks like playing in virtual envs. Having these bots fill up your games and play terribly is a bad look for any game that depends on multi-player interactions to keep people involved.
I believe you can get pretty affordable Windows VMs these days, however. I'm not sure that blocking wine really accomplishes a lot. (There are also companies that sell access to consumer Windows PCs on consumer ISPs these days. If you don't play Hearthstone, you probably don't mind $10/month in free money for letting someone bot Hearthstone on your computer. And it's not like Blizzard is going to say "look, enough Comcast, shut these people down or else we lock all Comcast customers out of battle.net". It's pretty tough to run a gaming client these days, I would imagine. So so much stuff is totally out of your control. I do not envy their engineers at all!)
Besides having to rely on real-time computer vision which is more expensive/resource consuming and harder, the results wouldn't be as good as with other techniques (although this might fit your argument of having some misses and jitter/lag/etc... to act as cover).
(I see two flagged posts asking the same question)
...pretty comfortable in saying that you're not up to speed on 2004 era hax.
If I wanted to aimbot in an FPS, I would just analyze the HDMI output from my computer (via an FPGA) and have it directly create the necessary USB transactions to move my mouse to the target's head. I would introduce randomness, "input lag", jitter, and even some misses, so that people looking at the kill cam wouldn't immediately think "aimbot" as they are apt to do whenever they die. (You also don't want to make your mouse movements statistically different from anyone else's, or it's the server that will pick up on your cheating... or at least a well-crafted MapReduce. Do game companies have MapReduce? I hope so.)
Executed well, the developer of the game could do nothing about it; maybe I'm really good, or maybe I'm aimbotting. My computer is completely normal, down to the device descriptors on my mouse and monitor. There's no wine, no virtualization, no additional software running.
In the end, trusting the client is crazy. If you want to decide win/loss based on things computers can do easily, your game is probably bad. And aiming is something computers can do in their sleep.