In our system, we're having to deploy a single zookeeper cluster across multiple datacentres. In this situation, we're running into problems with latency across the sites.
One thing that would help is if there was the capability to deploy an arbiter zookeeper node that did not store/update data or serve client requests, could not become leader, and did not determine quorum for updates, but participated in leadership elections (very similar to arbiters for mongo, https://docs.mongodb.com/manual/tutorial/add-replica-set-arbiter/).
This arbiter could then be deployed on a separate arbiter site that did not need a fast network link to the rest of the cluster, but would determine the active cluster in split-brain situations across the 2 main sites.
Currently, there's nothing stopping a zookeeper deployed on the arbiter site from becoming leader, and then the relatively high latencies involved cause problems across the cluster. Observers don't really fit our use case at the moment either.