Smack supports zlib compression either by javax’s deflate APIs or by jzlilb. I never had problems with both of them, as we first used jzlib on Android and then switched over to the deflate APIs. It could be possible that those have broken implementations, so you guys could try to use jzlib for compression.
If I had to guess, I would suspect this to be a problem originating in Smack.
You can configure Smack to use jzlib as CompressionHandler. But how this is done depends on your used Smack version. And the API was not designed so that users can easily modify the compression handlers (which I may change in the future).
Have a look at SmackConfiguration and how the compressionHandlers list is initialized.