There are lots of ways to make botting harder. Like Forseer suggested, you could have to use bait to fish. As for Hiding, make skillgain require movement while in hiding and make moving while in Hide reduce stamina at a High rate that is lowered as you gain more skill in Hiding. I know it will not stop macros altogether but it will reduce the effectiveness of macroing. As for crafting, there is not much point in trying to macro that. The tedious acts of adding tools each time you craft and the craft window reset upon learning a new pattern is already enough to make a macro inefficient. Would take longer to write the script than it would to just do it.
There is no easy way to stop botting other than a full overhaul of the crafting and skill system. But if you can make Botting less efficient and desirable it will become less of an issue.