I heard that it is possible to use absorption substance (the same as used in a diaper) to decreasing the shrinkage of concrete. I can't find any information about that. Will be very thankfull for any answer.
I think that single sized aggregates and aggregates with low absorption capacity, like relatively dense aggregate (e.g. granite) will reduce shrinkage,
We need to understand shrinkage phenomenon in concrete. Water is held in the concrete due to chemical bonding which is difficult to remove. Water is also held in interlayer of hydration product and also in capillaries. Due to loss of last two type of moistures, concrete will Shrink. So major cause of shrinkage is water which if kept low due to w/c ratio the shrinkage will be less.
If you are referring to drying shrinkage; it happens in the cement paste. So I dout that the aggregate type would reduce it; perhaps the content of aggregate decreases it since the aggregate is mord stable than the paste. Try adding fibers, they restrain the paste from shrinking and minimize cracks.
No doubt quality of cement, water cement ratio, aggregate cement ratio, temperature variation, compaction and curing of concrete affect shrinkage in concrete. When question of quality of aggregate is concerned I will suggest to use dense, strong, properly graded aggregates for the given concrete. Rough surface aggregates may be preferred to smooth aggregates for better bonding.
Igneous rock that conforms to the relavant standard eg basalt and granite. These aggregates are impervious so will help to reduce overall shrinkage. The additional hardness of the rock will also reduce overall deflection/deformation.
As said earlier W/C ratio. Sand in an important player here as sand in is the biggest ingredient in concrete mix in terms of its volume. Water absorption of sand + density.