Miners do not fill in merkle_root. Miners receive a fully initialized 80-byte block header, and have permission to change a few fields in that block header (nonce, ntime) before resubmitting.
And the client send the head to miners? how do the client fill the merkle_root?
I think that last miners set the header of the merkle root although the current miner CAN set the new one IF the block is solved. As to what the header data contains i believe is the "last block" so its like a chain that it follows backwards which is used for linking up the longest chain.
The following is just a thoery but i think that the chain is used in this manner to keep people from injecting counter fit bitcoins becuase all the miners as well of the clients all check for the money/balance in the previous block transactions and blancs