Random thoughts ...

i) Queries that address single partitions use partition-level statistics, otherwise they use global statistics.

ii) I compute statistics where time permits, and analyze all indexed columns even if they have no skew.

iii) Some global statistics can be calculated from partion-level statistics (number of rows, blocks etc) pretty easily. For others (column stats) it is usually necessary to estimate.