I'm lucky enough to live near 2 FLGSs that are both doing pretty well still. I try my best to support both of them over online retailers, but occasionally I'll go for the online discounts.
Both FLGSs often run tournaments or leagues with a reasonable entry fee, and I think that helps offset their costs a little bit, but not much. One has started selling drinks/snacks and offering fast food runs for customers (for a fee) and that has caught on amazingly well. It's pricey @ $5-7 plus the cost of the food, but I know ALOT of the local players use the service (I've splurged for it on occasion).