The sendPresence in ConnectionConfiguration.java is as default true
which is why the smack library automatically sends an initial presence to the server as available.
you can set it to .setSendPresence(false) while building your configuration and send your own presence in after the "authenticated" function triggers in your connection listener.