The stuff posted on that page works great as-is, but the OP was asking about being able to do it without first defining the amount of bandwidth available on the link. In other words, he doesn't care how much bandwidth is being used, but he wants to give different priorities to different types of traffic. Personally, I have a queue on my home router, and it works wonders for giving games priority over my daughter's youtube or torrents.
I wonder though... is there a way to use statistical data to determine the maximum data rate over the last XX minutes, and use that to dynamically update the queue to show 105% of the max used, then give different types of data different amounts of bandwidth.. VOIP 20%, SSH/telnet 10% to absolutely cover the +5%, http/s up to 60%, pop3/smtp 25%, etc...
This would also eliminate sudden bursts that could potentially cause disruption to the network. It would really smooth out the flow rates. It would also be a great way to keep torrent traffic from interfering with more interactive/important communications.
This might make for an interesting experiment if I remember to work on it when I free up some time.