If you are like me, you probably already have a few wireless routers sitting around the house. If you are also lucky like me, and your home is networked with wires, it's really easy to use those extra routers to improve your wireless performance.
The first step is to do a little site monitoring around your home. The goal is to find out what channels your neighbors are using and find the ones with the least interference. For Vista or Windows 7 I recommend inSSIDer. For 2.4 Ghz 802.11G there are really only three channels to consider: 1, 6, and 11. The channels in between overlap with these three, and should generally be avoided.
Choose a couple central locations in your home and use a laptop with inSSIDer to monitor which channels have the least amount of congestion.
Start with your primary router and configure as normal, choosing the best available channel and WPA or WPA2 security. For a password, I like to use a movie or book quote. Be sure that all of the routers you plan on using support the same level of security (this will be important later).
Give your router your preferred SSID name. I like to name mine something like VIRUS or RIAA just to discourage anyone from connecting to it. (Sidenote: these are especially fun names if you like to bring a travel router with you on trips.)
Once your primary router is configured, it is time to setup the secondary router. You will not be using the WAN port on the secondary router, only the ones marked LAN. To initially configure the secondary router you will also need to connect it to your PC directly. Once it is configured you can reconnect it to the rest of your network (be sure to use one of the LAN ports).
The first step when configuring the secondary router is to disable it's DHCP server functionality. Next, assign it a fixed IP address. Be sure to choose an unique IP address that is outside the DHCP range configured in your primary router, and different IP address than your primary router. For example, my primary router is configured as 192.168.1.1 and my secondary is 192.168.1.2. The DHCP range used by my network is 192.168.1.100-150.
Here is the critical part. The secondary router must be configured with the same security settings and SSID as your primary router. However, the wireless channel can (and should) be different, and be chosen based upon the optimal channel found during the wireless scan.
Now any time a device connects to your wireless network it should automatically find the strongest available access point. With this technique I'm able to get perfect wireless connectivity throughout my entire home with two low cost routers.
I also recently decided to upgrade to a 802.11n wireless router. I monitored http://slickdeals.net and came across a great deal on a refurbished Netgear WNDR3300.
The cool thing about the WNDR3300 is that it is two routers in one. It runs a 54 mbps G network at 2.4 Ghz, and a completely separate 270 mbps N network at 5 Ghz. This prevents the older and slower G-only devices from slowing down the speedier N network. Just keep in mind that the 5 Ghz frequency degrades faster with distance and obstacles (i.e. walls), so there are times when you might be better off using a 2.4 Ghz based network.
Finally, if your router is no longer getting frequent firmware upgrades, or you want to have a little fun, be sure to see if you router support the DD-WRT firmware. It's got an incredible amount of features and options, but is not for the faint of heart.