The marketplace doesn't do it effectively - otherwise, you wouldn't see the huge public outcry. The only market solution I can see is if people were allowed to bill for their phone time at will without having to jump through all the red tape that constitutes becoming a business.
If someone trespasses on your property, you have legal recourse. That cannot be done when they trespass on your own phone line. The do-not-call list corrects that wrong in an efficient manner.