Years ago, a friend and I would meet regularly at a restaurant. We would get a table out of the way, and let the server know in advance our "rules". 1) We aren't in a hurry and expect to be there a while, 2) We recognize that we will be taking up a table and therefore affecting your tips, so we will be generous IF THE SERVICE WARRANTS IT!. We ate at the same place every other week for about 2 1/2 years, and spent about 3 hours every time. We always ended the evening with coffee, and expected that the servers would keep our cups topped off. Our average tip was in the 30% range, and our bill was about 2-3 times the average bill for the restaurant, so we figured that the staff was well compensated. The staff knew us well, and if someone was passing by our table with a pot of coffee and noticed we were running low, they would top it off without our asking.
After a while, the staff were fighting to get us to sit in their area because we were easy to serve, tipped well, and very forgiving if something didn't go right. One time we had a new server who completely ignored us. It took about an hour to get our food, and forget any refills on the water or drinks. We didn't let it bother us too much until we told her we were ready to go and it still took about 30 minutes to get the bill. The place wasn't any busier than any other night, so this was a service issue. We paid our bill and left a $0 tip. We heard the server when she picked up the cc slip, and the manager came over to us as we were leaving (we knew him by this time) and we told him what happened. When we came back the next time, we had the same server, and the service was back to the level we had come to expect (good, not perfect but always pleasant) and left a tip that more than made up for the prior visit. We made our point, and never had a problem again.