I'have been using Tigase for our chat application (https://play.google.com/store/apps/details?id=com.hyperon.sm...) the decision of selecting server depends totally upon your requirement. I have used Tigase, Openfire and Jabbered 2 for different projects and have done with lots of customization in them.
If sclability is your main requirement my suggestion would be
1- Tigase 2- Jabbered 2 3- Openfire
I have also heard of Ejabbered a lot but that is in erlang ( which i don't like ) My top priority is always Tigase ( the only bad thing about it is you really need to dig into it to manage because there isn't lots of support available in term of blogs tutorials etc) Hope it will help you in choosing your preferred one ....