There's a place I often visit in Shoreditch called Ziferblat[0], and I think that they have something of a solution to this (they have other places too).
Essentially, you are charged for your time and everything else is free. Presently I think it's about 7p per minute for the first hour, and then 4p a minute afterwards - there's also a cap.
While in there, coffee, snacks, etc, are all "free".
Perhaps this sort of model could work? Obviously if you're not willing to kick out all the remote workers. I guess this turns it into more of a coworking space though.