Not exactly a river but if I may share a story and in a round-about way make a point...
Several years ago, on my daily walk around my neighbourhood I finally got disgusted at seeing all the garbage along the sidewalks and curbs. So I began cleaning up the junk (I live by a bus-stop and it was really bad there). As time went on, I began to clean further and further up and down the street. Now I do the entire two kilometers of my street and some of the side streets as well. One thing I have noticed is that each week there is less and less garbage being dropped.When i fist began I only had to go a block to get a full bag of trash, now i don't even get a half a bag from the entire street (except after halloween. lol).
Basically what it seems to boil down to is, if people are use to seeing garbage strewn about the place, there are more willing to litter themselves. But if a place is clean and tidy, they seem less likely to throw out their trash, etc. Now there are always some idiots who will litter, etc, but I find by keeping a place clean it stays cleaner.
Now I always try to volunteer for the Coquitlam River clean-up and do my part, as well as pick up trash when i am out hiking, etc... it just seems that most people these days are too lazy to go out and do something constructive with their time.
But that being said, I am not sure if there is a clear-cut solution to the problem in question. I hope that a solution can be found and soon. Cheers.