You also missed the main recommendation of REINDEX INDEX CONCURRENTLY along with optionally pg_squeeze.
That's too reductive. Vacuum full isn't just slow, it exclusively locks the table for the duration of the vacuum and is basically a no-go when the database is in use.