If you're comfortable with coding, you could try hacking this into the Unison source code, or you could write a small program that:
- goes through all files before launching Unison
- store a list of all files with applicable ELF headers (or just check for files with the execute flag)
- edit the existing unison profile to add all the detected files to the ignore list (see the manual)
- launch Unison using the newly generated profile
The above would be trivial to create using a scripting language (e.g. Python), and you could wrap it all up nicely to automatically launch & sync via Unison after generating the ignore lists.
Unfortunately, you'd have to do this on both machines, since realistically there is no other way to only do this on one machine (otherwise, you'd still have to transfer all the files via the network, and then perform header checking on the host - and this would certainly require some modifications to the Unison source code).
rsync
do?