My comments are probably not worth much because they just relate to
the opinions already given.

You say there are three sub nets and that at least one of the three
has good signal levels in each different area of the building.

What other WiFi signals are heard in the building?
Are the three sub-nets all on the same WiFi channel?
Are the sub nets smart enough to monitor user signal levels and dump
them when they begin to hit another sub net with more strength?

If the sub nets are all on the same channel, the stations all
interfere with each other.

If the sub nets are on different channels, are they on 1,6,11 or on
overlapping channels?
If the channels overlap, they interfere, if they are non-overlapping,
then the clients probably don't change AP when signals get poor and
nearby clients will still interfere with each other.

If the access points are configured for multiple mode B,G,N
compatibility, the constant mode hopping will tend to cause
interference and slower transfers.

If they have any equipment on 5GHz, then upgrade your equipment and
use 5GHz. There are only three non-overlapping channels on 2.4GHz. Too
many users and they are saturated. So then someone tries to slip in
another AP on an "unused" channel, and they interfere with two of the
non-overlapping channels and get interfered with in turn, everybody
looses.

One thing I do know for certain is that the 2.4GHz band or any single
channel can be saturated by having too many people trying to use it.
If you have 20 people trying to use the same 54Mb channel, they don't
each get 54Mb throughput. After collisions and retries, they are
probably lucky to get 500Kb each. I just pulled those numbers out of
the air but you can probably find evidence on the web to show real
numbers of scale.

I really don't know what the answer is.

Doug Reed.