First - the compiled Lua source is NOT portable. You can't guarantee that it works between machines. Machines that don't support certain things will fail if the bytecode is not compatible with bytecode that would be generated on that machine.
If you still want to continue with doing this, chances are the best bet is to obfuscate the source before compilation and distribution. That would make it harder to understand - but not impossible. You might also look into the bytecode optimizer that was posted a while back because that can help with reduction of reverse-compiling, or someone generating source code from a compiled output.