O2s is the best in the country. Also, remember that the QoS of '3G' is much higher than that of 2G. One signal bar of a '3G' service is the equivalent bandwidth and call QoS of 2 - 3 of '2G'.
The signal bars for a 3G connection should be taken with a pinch of salt anyway, because you will get a different QoS depending on what you are doing (there are differing levels for video calling, file transfer, voice data and so on) - basically, if you see the 3G sign (even with 0 or 1 bar) then you will have a good voice connection and decent Internet speeds.
The power output of network antenna do not vary; the "quality" of O2s service is not to blame for a varying signal 'strength' when staying in one place. 3G radio is very high frequency (bordering microwave, I believe) and is affected by cloud cover, temperature, cars and so on.