There are a couple of things that can cause poor signal.
If your router is close to things like a phone, cellphone, or other mechanical devices it can interfere with the signal. Try to move it away from them.
The channel you are using may be very crowded. I believe the router has an option to choose the best channel automatically.
The material used to build your building may be causing the interference. Not much you can do about this.
As with accessories go, I don't think there is much you can do with the router side as the WHR-G300N has internal antennas(?). The only accessory worth a try is a better wireless adapter for your laptop.