Here's my quick and dirty solution:
Before sending the file, open and read it as hexadecimal, then save it with UTF-8 encoding... You can now send it to Gmail, which won't complain, as it won't be able to recognize what the file truly represents... (just make sure to omit the typical file extensions Gmail doesn't like, or it will still make troubles just based on that).
When you receive the file, at the other end, open it as UTF-8, then save it back with HEX encoding, rename it to include the original extension and... bam! Here you have your original executable/compressed archive ;)
I tested this with a "file.rar" containing executables, and it worked flawlessly. As said, just make sure to also rename the file (omitting ".rar", ".zip", "exe", etc).