Distribute users across Access Points evenly

Keep them on the same L2 segement/VLAN, so that clients do not need to change ip when roaming.
Install wpad-full and enable 802.11r, so that bss-fast-transition allows smooth roaming between them.
Cut power - especially on the 2.4ghz band with its high range - and try to set a min-rssi. On Openwrt this can be achieved by specifying minimum speeds (or taking them out as someone mentioned above).
On UBNT-gear you could try to hope for 802.11v and 802.11k, but that's a complicated story.

Check the threads that already exist on this topic: