In our setup we have a central RabbitMQ instance running on three hosts, each with its own URL.
For maintenance, any of these hosts may go down at any time for several hours. When this happens, we would like to connect to one of the other hosts.
We have been using aio_pika.connect_robust to connect, but it only accepts a single host as parameter.
It would be perfect if the reconnect could happen seamlessly in the background. A worker could get a message from the connection to one host, work on it and then acknowledge it over a different connection.
What would be the best way to solve this?
A worker could get a message from the connection to one host, work on it and then acknowledge it over a different connection

That's not possible, since acks are tied to channels. When the first channel closes, RabbitMQ will re-enqueue the message and will re-deliver it to another consumer.
It looks as though aio-pika does not support multiple hosts from which to choose to connect. I recommend either trapping connection-related exceptions yourself to choose another host, or put haproxy between your application and RabbitMQ.
Robust aio-pika connection to multiple RabbitMQ hosts