Q: Is there any way to create an Availability Set that spans three fault domains?
A: Currently, an Availability Set will span two fault domains, where a fault domain can be thought of as a rack of servers that share a common Top of Rack switch. When VMs are placed in an Availability Set, the VMs are spread over two fault domains, which ensures that in the event of a rack failure not all instances are affected; in addition, during maintenance operations, the Availability Set ensures that not all instances are brought down at the same time.
Several scenarios exist in which two fault domains isn't ideal and three would be a preferred configuration. Consider cluster-type scenarios, in which quorum is important; to ensure quorum is maintained, the nodes should be spread over three fault domains so that no more than one instance is ever taken down at the same time.
Hopefully the idea of an Availability Set spanning three fault domains will be acceptable in the future. In the meantime, there's a trick you can use to increase the chances of your VMs not being taken down at the same time during routine maintenance, which is useful in a three-VM scenario. The configuration is to use an Availability Set with two VMs in it and then a standalone VM that isn't in an Availability Set, as the following figure shows.
The reason this works is that the scheduled maintenance of VMs in Availability Sets is separate from that of VMs not in an Availability Set, which means your standalone VM shouldn't be taken down at the same time as any VM in an Availability Set during standard maintenance. However, in the event of an actual rack failure or if the rack's Top of Rack switch has maintenance performed, the standalone VM might be taken down at the same time as one of the VMs in the Availability Set. This trick only helps during normal node maintenance operations.