I can't speak for best practice as our setup is a bit "different". We do have about 200 mailboxes though.
But on a real simple level we have three Mail Database servers in the DAG. These three machines are responsible for keeping ~20 databases online. Two are on identical HyperV boxes, the third is on a previous generation server. The 3rd VM is mostly there to act as a backup in the even the other two fail (they are in the same rack).
For our front end we have two VMs both pointed to the back ends. The users are directed to either and Exchange handles the swapover for the users between the two when one is taken offline. So to asnwer your question about failing over at the user level, either machine can handle the Outlook requests. if one goes offline, OL gets bounced to the other server. The user will get a popup alert in the task bar says "connection to server lost", but after about 20-30 seconds "connect to microsoft exchange". Most of the users never realize it has even happened.
Since we are only in one facility, we don't have to contend with WAN replication issues. But from what I can surmise, it should be no problem to do it. The replication between back end servers is relatively quick and there are controls in place to throttle the traffic. If you don't mind your users having a slower experience during downtime, you shoudl be fine. Though I'd almost expect it to be similiar in speeds to a user on Outlook connected via RDP over HTTP.
Keep in mind you will need enterprise versions of windows and exchange to accomplish this. Over all the setup works really well.