Maybe have the bgwriter update hint bits as it evicts pages out of the cache? It could result in pg_clog read traffic for each page that needs eviction; not such a hot idea.
I thought once we enhance clog so that there are no clog reads, bgwriter would be able to update hint bits without getting into any deadlock with pg_clog read.