Actually, there are some very good methods of selecting an arbitrator. For example, each party submits 3 arbitrators, from which one is chosen by the other party. The two arbitrators select a third. The panel of three decides (2 of 3) from between solutions submitted by each party without alteration as to what funds go to what party. This prevents a "splitting the baby" compromise.
When a BitCheque is purchased from the issuer (me), guarantee funds are locked up for a specific time period and/or until it is redeemed. If an unopened BitCheque is emptied of funds, this would indicate fraud or carelessness on the part of the issuer, and trigger arbitration - if the issuer does not promptly compensate the holder.
This type of contract can be written in Solidity or possibly a taproot layer.
Anyone interested?