You should run runstats when there have been changes to the number of rows caused by inserts and deletes, or changes to overflow characterstics of the rows (caused by updates), or other material changes to the data. The only way you know these things is to run runstats, so you are screwed in an infinite loop.
Just run it once a week, and I would recommend that you use "WITH DISTRIBUTION ON KEY COLUMNS AND DETAILED INDEXES ALL" option. If you have extremely large tables and it is taking too long to do runstats, then use sampling (see the manual). Usually good idea to also run on catalog tables, especially since it will not take a long time to do them.