If you want to retain a tavern keeper for RP reasons, there are a couple of ways to keep the death toll down. The first is to limit the number of mugs assigned to the tavern (setable from the locations screen). This limits the number of simultaneous drinks that can be served, but doesn't stop dwarfs from using mugs when they self serve. If you set it to 1, then the tavern keeper has to wander back and forth getting the mug. If they give the mug to a different victim, then the first victim gets a rest. Unfortunately due to the way dwarfs pick targets, it is likely that they will pick on the same victim each time (because they are always the closest to path to).
This leaves the second method: Give the tavern keeper another high priority job. I've found that grower is a great one, especially if you stagger plant your crops (set all your fields to fallow and then each day assign a crop). This means that your grower will always have 2 very high priority jobs (one to plant and another to harvest) per farm tile per month. Because both planting and harvesting are higher priority than poisoning, then the tavern keeper is always wandering to and from the fields. The other thing this does is mix up the pathing for the next victim -- after they finish planting/harvesting, they are likely to pick someone else.
In fortresses where I do this, I've never had a single death. YMMV.