Towing is a service that is provided to the city, not to you. It is provided to the city in order that they may conveniently and cost-effectively enforce the laws on the books. You took a calculated risk (which you admit), and you lost. I don't think $520 is unreasonable at all for someone who broke a law because he was (admittedly) too lazy / tired to care.
The city (unlike the mafia) does provide protection (a real police force and much more!) as well as many many many other services and benefits. One of those is having clear streets with available parking, and usable, clear private driveways for those who own property and pay taxes to the city.
Your self-described actions and your reaction to the situation strike me as incredibly... douchebaggy.