I always offer to purchase 'on behalf' of the client (especially if they're not too good with technology

) but leave the billing and transaction to be dealt with directly between them and the hosting company.
That way they get a no-fuss setup, without having to know anything about bandwith and gigabytes, but are clear that the hosting is nothing to do with me - if the site goes down, they understand I'm not responsible!
Having said that, if you deal with a fair few clients, you could purchase a reseller package - that way you could offer your clients better rates and you might even make a little extra too!
Of course, if you do this, you must be prepared to accept that your client will hold you responsible for any hosting issues, even if the server is 5000 miles away!