Most people do not shape their connection to the Internet, which under load leads to a push/pull effect as TCP/IP does it’s congestion management. A better QoS can be granted by shaping the traffic. For the definitive guide to this subject, check out LARTC (heavy reading).
For tools to help you manage your own home Linux router, check out: