Allow more than one peer slave
This will require some consensus algorithm for the slaves, so it might be quite complicated. The problem is that when the master dies, the slaves may not all be in the same state, and once a new master is elected, its slaves may7 not be in sync with it.
Perhaps a better idea (and who would want 3x hardware anyways?) is to have a new type of node. Nodes that aren't assigned a node id, and simply monitor the cluster for failures. Once a master dies and a slave takes over, one (how is it chosen?) of these passive nodes will become a new slave (it will have to replicate all the old data - how much burden would that put on the new master?)
What we should do is leader election among slaves after the master dies. The leader is the node with the most recent backup update.