The best way of saying something, is surely that which creates the least possible ambiguity while remaining reasonably concise and comprehensible - and if we assume the purpose of language is to communicate effectively, fulfilling these criteria must also be the most technically correct way of speaking.

If you ask for "three gins and tonic", you haven't specified how much tonic you want, and in which receptacles, so you haven't communicated effectively.

In any case, the reason it does make sense to ask for "three gin and tonics" is because 'gin and tonic' is the name of a drink, and as such is indeed indivisible. Compare this to 'steak and kidney pie' (note that capitalisation is not necessary), which is similarly indivisible - one would hardly ask for "three steaks and kidney pie" as this would confuse the meaning, and sound strange. In my opinion, by stating that "the ice and lemon are understood in this context", ryano has admitted that 'gin and tonic' is a name and not a list of ingredients, and therefore it should be treated as an individual unit, just like 'steak and kidney pie'.

If you are insistent that 'gin and tonic' is not an indivisible unit, then 'gins and tonics' would seem to be the best solution - ryano dismisses it as ambiguous, but it is no more so than his suggestion - and at least it takes account of the fact that there is a multiple of tonics as well as of gins, given that 'a tonic' refers to 'some tonic in one glass'.

There is one other solution, which has the drawback of being silly sounding, and is perhaps just incorrect - you could ask for "three gin and tonic drinks".