Having a master node which delegates all the queries sounds like a single point of failure. Could this be avoided by having a failover master?
Yes: if you have high availability needs, PostgreSQL's streaming replication feature can mitigate this failure risk by providing a hot standby for your master; otherwise, regular backups of the master can suffice (pg_shard's metadata is stored in regular PostgreSQL tables).
See our documentation page for more answers to questions like this: http://citusdata.com/docs/pg-shard