1 Million rows aren't much to handle for DS engine since Lookup Stage requires key columns to be in the same partition with million rows from each side Entire Partition can be used.
I believe it depends upon the system configuration as the data in the reference link is loaded into the main Memory while processing. If the total consumption of the memory passing through the reference link is above the total capacity of the machine in that case we should look for alternatives. It could be hash partitioning on reference link along with the main link. Having said this it all depends upon the logic. So i believe nothing is ideal for the lookup stage paritioning although entire is a default technique but should be changed if the situation demands.
Better to use JOIN or MERGE stage in place of Lookup. If input data is low in compare to reference data then Lookup is recommendable. Assumption is 1:100 or more.