You are aware that most payment processors have a per charge fee? As someone who's also into creating a PaaS I can completely understand why they charge the way they charge, I'd even say it's one of the fairest schemes in the industry. For what you want to do I suggest AWS.
This basically ignores my first point: Per charge transaction fees. As a small(ish) company with not much leverage for big contracts with payment processors, you'll want to have a certain minimum amount you charge to people. With your scheme, they'll still have lots of small charges. Then they have to include those charge fees, which in turn makes people complain again.
Bottom line: It's a conscious business decision to not serve customers for whom it's a problem to once pay 20 bucks or so and then draw from that credit.
Edit: Thinking about it, not even Skype works any different. Why should an IaaS?
Except they return it as account credit not as actual money because Linode doesn't want to fall into the high risk category of payment processing because they refund a lot. If they just did hourly, or even daily, billing I would use them. But I don't want to spent $20 for what ends up being ¢75 of usage and then being forced to either use or lose the other $19.25
In the past I've done what you've described and then asked for a refund to my credit card. Within minutes they processed the refund. Can't fault them for that.
a) Pay at the end of the month (good if you are a big company like Amazon)
b) Don't let users run machines without credit in their account (DigitalOcean).