A deployer is intended for deploying things into JBoss. So, any deployer will complain about file types like .log and .ctl that aren't meant to result in a deployment. The ZipException is just a not very user-friendly way of the deployer saying "I don't know what to do with this file; as a last resort I tried to unzip it to see if anything I understood was inside and that failed too."
The Farm service is a specialized deployer and thus has the above behavior. It is not intended for general purpose file replication.
One alternative is to use JBoss Cache. There was a thread on the JBC user forum recently about this. Idea is you convert the file into a byte and put it in the cache, which then replicates it. Using JBC as a file replication service wasn't one of the core use cases for which JBC was designed, but it should work.