Lately the release of mruby made me think maybe I should try again :) (mruby seriously reduces the amount of effort required in getting Ruby to talk to BWAPI.)
1] https://github.com/d-snp/RProxyBot/blob/master/basic_ai.rb
It was a lot of fun. Figuring out a base layout was the most difficult part for me. I ended up using the random function and placing buildings around my main base at random offsets. Didn't get too far with that, haha.
More can be found at their official website[1] under Media/Files tab.
One of the most common and basic techniques in Starcraft is to bait another player into thinking you are doing a certain popular build, and then do something theoretically inferior but which requires a wildly different response.
Know your opponent is going to have turrets up at 5:30 on the clock? New build! Hits at 5:25! Have the AI use builds which have their turrets at (x-2) minutes just in case? Well, that's going to be an awful build against almost everything.
As shown in one example in the paper, even when the AI was extremely lucky and hard-countered the human's build, the human was able to adapt, respond, and win handily.
Since even the top humans are able to trick each other in these manners, you'd basically need general/strong AI to be able to compete.