If it's months, we probably want limit vacuum to working at a pretty slow rate, say 1% of the table size per hour or something. If it's in hours, we need to be a lot more aggressive. Right now we have no information to tell us which of those things is the case, so we'd just be shooting in the dark.
Thing is, you don't need to spread out your vacuum in time if the rate of vacuuming matches rate of table growth. Can we mark tuples/pages as all-visible and all-frozen say, the moment they're pushed out of shared_buffers?