OK, I'm back with another theory. This is a bit of a sad theory as it requires the tallest person to sacrifice himself for the sake of the other 99. It also means the other 99 will have to be quick at mental maths to survive but if they can do the sums they can all make it out alive. This is probably not the actual correct answer, but it's took me a while to think it up so I thought I'd share it here:

The tallest guy can see 99 hats. He starts by counting all the black hats in front of him. Lets say he counts 46. This means he can also see 53 white hats. So he shouts out '53' and is instantly killed.

However, from their pre arranged strategy everyone knows the tallest guy will be calling out the number of white hats he counts. The other 99 now know that out of 99 hats there are 53 white.

So guy 99 counts all the white hats in front of him. If he counts 52 then he must be the 53rd white. If he counts 53 white then he is black.

Guy 98 listens to his answer. If it was white then he knows there are 52 white hats left. If it was black then he knows there are still 53 whites. He now counts all the whites in front of him and can workout his own color.

Guy 97 has also be listening carefully and depending on 99 and 98 answers he also knows how many whites are left, does the same count and calls out his color.

Providing everyone can hear all the answers everyone down the line should be able to to keep track of how many white hats are left and so workout their own color when it comes to their turn. This would allow 99 to live and put up a monument to the tallest man who saved them all.