I agree with you. Go after the business that profits (by selling whatever they sell) and fine them. Make it a hugh fine, and have half paid by the business and half by the person or persons that actually generate the spam. If the person that generates the spam can not be found, or can not pay, then the business pays the whole fine (this would encourage them to co-operate with the authorities in trackng down the techno geek actually sending out the spam.
If all that is too much, then how about a law saying ok, send out what you want, but the subject line must include something like THIS IS SPAM or XXX and they would be fined for not doing so, this way the filters would work. And while were passing laws, make it illegal to use someone elses email address, they must include there real email address, real street address, real names and real phone numbers, just incase someone does want to buy something, they would know who to contact.