Comcast style. Monitor network ports for congestion then take heaviest users and deprioritise them until either they calm down their usage below a certain threshold or the potential for congestion subsides.
Avoids unnecessary throttling and maximises use of available bandwidth. Also doesn't discriminate between protocols.
Downside: requires some new hardware and a bit of time and expertise setting the hardware up, though that's not our as customers' problem.
http://downloads.comcast.net/docs/At..._Practices.pdf