I am not saying that it is wrong. if you are new to wifi and you got over 300 access points up and running, that is quite an accomplishment.
I would suggest three changes to start:
-Change the ARM max transmit power in the G and A ARM profile to 18, instead of 127.
-Change the ARM allowed band for 40mhz channels to "none" so that the + sign disappears from in front of the channels on the 5ghz band.
- Make sure that "Drop Broadcast and Unknown Multicast" is enabled on all of your Virtual APs.
It is possible that your power is too high so android clients "stick". It is also possible that since you are running 40mhz channels, the android clients are also very attached to the AP that they are on. Lastly drop broadcast and multicast improves your airtimes by removing unnecessary broadcasts for better performance.