Disclosure: My two most recent homoiconic posts could be described as "Ruby bashing."
I disagree with you here.
First, your criticism is interesting and well-reasoned.
Second, you aren't making categorical claims (e.g. metaprogramming sucks/rocks).
Third, you're criticizing Ruby from the right position: as someone who has used it in depth, and isn't religiously for or against it.