2. Adding an additional router almost always makes things worse.
Solution: Switch off nodes when they stop working.
My house has this problem. I live on the 4th floor, next to the main VDSL router. The kitchen & living room on the 2nd floor can't get a strong WiFi signal. After some thought about WiFi repeaters, I decided to buy a long Ethernet wire and run it down the stairs. I trip over it sometimes, but it's basically reliable. The downstairs router runs dd-wrt, and works fine 99% of the time (I've had to reboot it once in the past year).
The upstairs VDSL router is owned by the telecom company (Chunghwa), and they don't give me administrator access. I can't change the firmware, and the box is frankly awful. About 6 months ago we complained repeatedly, asking them to replace the box. They sent tech guys, who tested the wire, and said that everything is fine. Indeed, it works about 70% of the time. But very often I come home from work, and I have to reboot that router before I can get online.
My solution is to buy a Edimax WiFi power socket and a Raspberry Pi, which checks to see if it's online. When the network goes down for more than a minute, it'll automatically tell the WiFi power socket to turn the router off and on again.
I know that power-cycling is bad for the router, but I don't see any other solution given the software constraints. I'm also surprised that there are no companies making devices for the purpose of power-cycling routers.