I work for an ISP, and actually we do have a fantastic way to cap bandwidth; it is called a telephone. We sell a "consumer" service. If you run a warez server or a web server that is knocking down a gig of transfer a day; you should be aware that it is only a click of a button to change you right over to the "business" class DSL. If you want 40GB transfer a month; you got it, but you are going to pay for it. The reality of it is, that as a small ISP, if every DSL customer we had was downloading shit all day long, we would literally need dual DS3's to handle the load. A full DS3 runs around 13 grand a month; so, within the guidelines of what is reasonable, smaller providers would not be able to provide DSL at all and it would cost about 5 times what it does now.
Now, we could put it in the "rules" that you can only use X amount of bandwidth per month, bandwidth monitor every customer and shut them off when they exceed their limit.

Or

We can use the phone when we see that you are getting a little out of hand and ask you to knock it off. We prefer to be what we are; a small Internet Provider, which will make an attempt to communicate with you so that we may have lax rules and not a pissy corporation that shoots first and asks questions later.