The easy solution is to just turn wifi off when you go where you only have one bar or where your router antenna can't reliably send more data than a ping. Turn it back on and your iPhone may stay stuck to the cellular signal until you walk back into better wifi coverage.
If the phone did this itself more aggressively, it would waste a lot more power turning on the cellular radio more often. So it's a trade-off.
Exactly.
What you said does not make sense to me.
iOS always display both cellular and Wifi signal strength. There is no additional work necessary than what it is doing now. What I am saying is that iOS knows when Wifi signal is marginal enough to switch over to cellular. It's now just a matter of fine tuning the switch over threshold so that the switch over occurs before Wifi signal degrade to unacceptable level.
Again, contrary to your belief, I think the border of "has Wifi" and "has no Wifi" signal is not a thin line. Instead it's a grey area. The width of the grey area is determined by the predetermined threshold, for example between 0.5 and 0.9 on a scale where 0 is no signal and 10 is as strong a signal as necessary beyond which there is no advantage. In my example, if iOS raise the threshold of bad signal to 1.2 then the iPhone would switch over to cellular before the signal gets to be unacceptable.
No. RECEPTION and BANDWIDTH are NOT the same.
Reception is how well the device's antenna can access a network point, baring any physical or other interference. This means, I could be standing right next to an antenna and have excellent reception. Now put a cement box in the way, and reception will suffer due to this interference. What your iPhone does, is constantly measures RECEPTION, not BANDWIDTH. Even with perfectly clear RECEPTION, I still may not have great download speeds ...
BANDWIDTH is the measurement of download speeds and throughput by a network point. This is determined by the network point's adapter and network speeds on the whole. If you are the only device using a network point, you will have high download speeds. If multiple devices are plugging at a single network point, then download speeds will suffer, REGARDLESS of RECEPTION.
The best illustration of this is when you are at a sporting event with hundreds of thousands of people. You will have excellent RECEPTION because likely you are in an industrialized local where there are cellular towers, but will suffer from poor download speeds due to many people trying to utilize the same network point, thus BANDWIDTH will suck.
What the OP wants, is for iOS to determine which interace (wifi vs. cellular) has the fastest download speeds at any given time, and switch to that interface. As we just discussed, reception alone would not provide enough information for the device to make that decision. The phone would need to "test" download speeds of both interface, thus causing arbitrary cellular data to be used, because even with speed tests on networks, there is no such thing as a free lunch when it comes to data. Not to mention, continually testing bother interfaces would kill battery life.
What you say about "gray area" is correct, but as already discussed, increasing the "pickiness" of iOS wouldn't solve this issue. WiFi would just drop out at an earlier point, but the transition to cellular would still be the same.
The OP does raise a solid point, I'll give him that. But the sacrifice of data usage and battery usage aren't really worth it, IMO. Thus we have provided alternate solutions to accomodate his needs, such as a better router.