I wait until they have 5 or 6 node sets, I usually get rid of lower branches later on by chopping them off at the stalk due to their tendency to be petite/small. Those smaller lower heads will start to stretch evenly to the top once the center head is taken off.
"When should I top" is really a question to ask yourself, the sooner you top the less overall branches you're going to have in the end unless you top again, the more times you top the smaller the new heads are going to be until they have had time to veg out and grow..
I typically top only once on plants to avoid this and I will just strip auxiliary branches leaving the tips of the main branches to grow tall, this will result in larger buds and better yields, the auxiliary nodes just steal energy from the tops in my opinion..
As you can see for example here is a plant I topped 1 time and now I have been stripping away those auxiliary nodes leaving the fan leaves, you can simply pluck them sideways right off to allow the main tips of each branch to continue growing, you do gotta go through every week and clean them up again.
Circle areas are where auxiliary nodes were plucked away, the nodes are offset due to it being a clone and not seedling plant..