We did use the --analyze-in-stages option, I think our data model is just not optimal. We have a lot of high frequency queries hitting very large tables of .5 to 1 billion rows. Proper indexing makes them fast but until all the stats are there, the frontend is unusable.
From personal experience, most of the queries become useable after the first stage has completed which on my 8TB database took less than 5 minutes