Do you use partitioning on the large tables?
If yes, is it fair to say that most of the modifications are done in only a couple of partitions (the most recent)?
The solution is to check table by table (especially big ones) what you need. You probably can use a smaller sample than 20%. Global statistics are expensive to gather. Maybe you can gather them less frequently.
The best you can do is upgrade. There are lot of features introduced in 11g and 12c that help to get better statistics in a less expensive way.
Some are partitioned and some are not.
Out of this two option for METHOD_OPT "FOR ALL COLUMNS SIZE AUTO" and "FOR ALL COLUMNS SIZE 1" which one will be good. if i take estimate_percent=>5.
The post below gives a comprehensive overview of stats for partitioned tables:
As far as I can remember, there were some improvements in 10.2.0.4, which is just one release above your version.
FOR ALL COLUMNS SIZE AUTO may automatically create histograms for you. Histograms are generally good , particularly in DW environments with SQL that use literals. Presence of histograms may prolong stats gathering though. Also, 10g may decide to create more histograms than needed (just an observation)
FOR ALL COLUMNS SIZE AUTO" – no histograms, faster stats gathering.