Can we just use default for trunk and py3k? For the time when both trunk and py3k were active, it would create two unnamed branches on the default branch, but one merge would solve that.
IMO, a dummy merge at the tip of the default branch may confuse users looking at the history, especially if they try a graphical display of the DAG (e.g. "hg glog" or the graph page in the Web UI).
The dummy merge would not stay long: The commits targeted at 3.3 would be its children.
Besides, it would precisely make it harder to distinguish between trunk and py3k development at the time both took place in parallel.
IIUC, there would be two parallel lines of history (unnnamed branches). Would that be hard to read?