Scheme is a great language--a language designed for computer scientists and experienced programmers to play around with new ideas. Lua is a widely used extension language for general users. Once macros are available in a programming language, readers can tell much less about what a piece of code does than if macros are not available.
Most uses of macros can be handled more cleanly with a compact lambda or block construct, plus some simple operators. I think Lua already has pretty good support for that, but maybe a more Smalltalk/Ruby-like block syntax could improve things a little further.
Cheers,
Thomas.