Your problem likely is a radio bandwidth issue. You can only have so many people sharing before it cascades into a total failure. Even the top of the line commercial wireless AP has this problem.
The only way to fix this is to increase the radio bandwidth available. You could for example run 3 AP on channels 1,6,11. This is pretty cheap the expensive part is the systems that work to load balance the users across the devices.
If you can do it without some expensive wireless lan controller is going to depend a lot on the distribution of the users and how much you want to put the burden on the users to solve this.
In the best case your users are physically spread out. You then put the 3 AP in equally spaced location and REDUCE the transmit power on the AP. This will make the power difference between the AP much larger and the software will pick correctly. Unfortunately if the users move around a lot it will stay connected to the original AP and not switch until they connection fails.
If the users are all close together the only way to really do this is to run the AP with different SSID and somehow come up with a policy that lets the users pick a SSID that will likely have the fewest competing users.