What exactly are you hoping to make a macro for?
For example macroing a 1-2-3 combo (so trying to automate your combo into one button). Due to the way /wait works you WILL lose casts. /wait only works on integers. This means that each action in the combo is going off at 3 seconds instead of 2.5 or less depending on your speed stat (making your speed stat redundant in the process by the way). You may think “oh you’re only losing 0.5 seconds, it’s not that big of a deal”. But just 5 GCDs losing 0.5 seconds off their recast is an entire GCD lost. Over the course of a 10 min fight? You’d be losing about 50 GCDs over someone pressing their buttons manually.
Also, macros don’t queue, so you’d need to wait for the last combo string to end and your GCD to have completely rolled around to press the button again or the macro won’t go off, unlike pressing it manually which allows you to queue the action before the GCD has fully rolled around (meaning your next combo string goes off more accurately to when your GCD ends compared to a macro) meaning macros cause even more of a delay unless you mash them.
Finally, macros will be interrupted by any other action. If you were to use an oGCD, it will interrupt your macro. Assuming you’re using this 1-2-3 macro to free up hotbar space you’d no longer have each manual button on your hotbar, your 1-2-3 combo has been interrupted by you using an oGCD, you now have no way to continue your combo other than start over, which is a massive dps loss. Not to mention if for whatever reason (fight mechanics forcing you out of range for a second) you miss a GCD you now have your combo string going off completely out of order.
To put it simply, there’s no conspiracy here to make macros unfavourable. This has been tested by people smarter than you or I. Macros are bad and you shouldn’t use them for GCD actions.