Webfreak is right about the banner ads. I won't even pay $1.00 on some sites for a banner spot if there's no traffic. Also, you have to be aware that your target audience will be different since you're giving away hosting for free.
Spam, as Atrashes stated is going to be your biggest concern. Also, hackers will seek out easy targets. If you're not planning on doing any of the security stuff yourself, then VPS is out of the question, and you're back toa reseller account. Here's the problem though, whether you go with shared hosting, reseller, vps or even dedicated server, hosts will not tolerate spammers so you will have to be VERY diligent on that. A few spams and you can find not only the one site suspended, but ALL your sites leaving a lot of pissed off advertisers wanting their money back.
I'd almost suggest that you go with affiliate marketing. Instead of getting people to pay you to put banners on your site, you put the banner there for free in the hopes of driving traffic to them. If you convert on the sale, you get money back. Many of our hosting clients have our affiliate banner/text on their sites and it pays for hosting, in some cases even pays a users car payment each month.
If you can get with a reliable hosting company and setup an affiliate relationship with them you can often get 10-30% recurring revenue for any traffic you send to them. Some hosts go with the single payout, but it all depends how you want your money.
This is the same with almost ANY affilate networks. There's webdesigners out there that will pay you $100 if you send a client to them, others give you commission. Others setup online stores that are nothnig but dropship products with affilate payouts to you (very popular!), and still others are in the affilaite marketing with regards to actual content (make money quick etc).
Putting up a website, then expecting people to pay for a banner is a long shot, especially a NEW site. You need to establish traffic, and targeted traffic at that.