As you might know, when your device says "Poor connection" the connection is not really poor, it's all about Android messing it up. This can be solved by clearing the contents where Android stores DHCP information, for some reason that data is causing the problem. This information is nothing but lease and pid stuff. As the lease is not human-readable (at lease I don't get it!) I can't tell what exactly wrong that's going on there. But clearing that helps.
The solution that I built simply automates turning WiFi Off, clearing DCHP information, and then turning WiFi back On. Simple yet perfect solution! :)