One way I can see FB generating revenue without resulting in a mass exodus of users is to keep direct 'ads' to an absolutle minimum (as it is now!) and make corporate membership and 'pages' chargable, with all 'individual' accounts remaining free.
That might actually cut the clutter of spam pages which wouldn't be a bad thing and get rid of those dam viral pages. It's be like a whole sub-INternet, so page space could be sold in batches of users (likes) rather than MB.
The genius of much of the current advertising is that it is there but nobody notices - you like a page, your are be advertised to by subscription that you opted into, therefore interested in and free of charge. And that is currently untapped revenue for what is a valuable marketing tool for many companies.