Partitioning depends on the business logic u apply in ur project
So what I think is rather than allowing DS to select the partitioning technique it will be useful if we mention the partitioning technique for different stages.
I think Hash partitioning is best to use with join stage,aggregator stage and change capture stage
and entire for lukup[reference link]
any opinions....