Mishka's Coffee in Davis, CA has an interesting approach to this. They have a small dedicated section at the front of the cafe that is reserved for [1] "the original, intended way [of using a cafe]". You're only allowed to read a newspaper or hang out and chat in this section.
That's an entirely reasonable way to handle it. Simply designate a certain amount of tables off-limits to using for "work". Then the coffee shop stops losing business when somebody just wants to DEPRINK COFFEE for twenty minutes.
[1] http://daviswiki.org/Mishka%27s_Cafe?action=Files&do=view&ta...