Multiple A records is definitely not the answer. If one of your hosts dies, the DNS will still happily dish out the dead IP address.
GSLB (Global Server Load Balancing) or equivalent, will do health checks on all your servers, and will dish out a single IP for the server that is "closest" to the client, or multiple addresses but always excluding dead hosts, and will provide the preferred order based on "closeness". Fundamentally, you need something that performs a health check of all your hosts, and stops DNS from giving out the IP address of any dead hosts.
Anything that relies on the individual client's interpretation of what to do with multiple A records is going to cause issues, as each client (Operating System, browser, ISP DNS caching, etc.) is different.