No such thing as a free lunch.
Download caps and/or pay per usage are the way to go. Low usage customers stop subsidising the heavy downloaders and can probably reduce their bills. The heavy downloaders get to stop worrying about bittorrent or iplayer or whatever being traffic shaped. You want to use more, go right ahead, just be sure to pay your share. The price the ISP charges you is much closer to how they are charged. This reduces the need for them to encourage/discourage particular usage patterns because the customers stop fitting into "profitable" and "cost us a fortune" brackets. You get what you pay for. Simple.
And if you want net neutrality you should support this. Net neutrality happens when all bits are treated the same. When are all bits the same? When they cost the same.