Just have a day-rate. Fill cards up with $100 or whatever, and it's $20/day (or whatever), come and go as you like. Like a transit card more than ZipCar.
$20 still seems like a reasonable price for that. It would be more that the all-day'ers are getting a better deal. I'm sure prices would equalize regardless, and those who don't want to pay can continue their coffee-shop campouts.