If there are two or more blocks that are tied, miners could broadcast the headers for child blocks that almost meet the difficulty (say 1/64 of the work required for an actual block).
Whichever block has the most mining support will get more of those mini-blocks built on it. Miners should break ties in favor of the block with the most mini-blocks.
Mini-blocks don't need to be stored and can be discarded once the next block is found.
It means that by the time the next block is found 100% of the miners will be building on the same block. Whichever block in the tie gets the first mini-block has a good chance of ending up winning the tie break rule. By the time 6 mini-blocks are broadcast, there is a very high chance all miners will agree on which block to mine on.
So, according to your formula "weight_block_n = [sum(all blocks in the tie) + hash_block_n] mod Target", the critical part seems to come from the hash value of the head of a chain (i.e. block_n in your formula).
Although an adversary can not know the competing block's hash value, but he can know the one he owns.
The mod function means that it wraps around, the sum(all blocks in a tie) effectively re-randomizes the ordering when a new block is found.
You have just as much chance of winning with a high hash value as a low hash value.