There should be a payment policy on your website, if you haven't. Always have in your ToS the situations in which you are allowed to close a customer account.
Personally, people receive their account upon payment, so no problem on that part. This will solve most issues.
I usually offers a % off on first orders promotions. This forces a payment, even if there's 50% off which is like 6 free months if someone's first order is for a year. This also reduces problem, as you know people who order have the means to pay afterward. I believe this is why companies like Hostgator have $0.01 on first month promos or other symbolic fees. It tells them people have a credit card or other mean of payment.
Just an example, a kid with no credit cards but who can make websites could for example jump around using free hosting offers and change every few months when his 3 or 6 or whatever months of free hosting expires and do this again. He may even transfer a copy of all his files and then switch nameservers A FEW DAYS before his previous hosting expires. This would minimize downtime.
A money back guarantee is also good.
But in all case, even for first time customers, there SHOULD be a payment done just to be sure customer is trustable and may become a long term client.
I haven't got any difficulties getting my first clients, even if I offered no way to try without paying. Making a low first time payment is the best way to go if you want people to try you and will minimize risks for you.