Having travelled all over Europe, I’d say jonno’s answer above is not only statistically correct, but also empirically true.
The point is not how many people speak a language in total, but whether you’ll be able to communicate eventually in a given situation. I have found that, wherever English was not spoken, German was. Even if the person I was trying to communicate with didn’t speak it, someone else would. In fact in Eastern Europe it’s even better to learn Russian than any other language, since older people will have learnt that at school.
French is way low on my list, since I never met anyone outside France who could speak it (talking about real everyday situations here, like petrol stations, borders, restaurants). Possibly because the people who learn it are more posh and would only be found at embassy parties (where you’d find everyone speaking English anyway).
Of course French and Spanish (as well as Italian) can be pretty useful because they are connected to each other, and learning one can help you with the others (and also Portuguese and Romanian). But in terms of a SECOND language, I’d go for German too. Oh and you do realise you’ll have to actually spend a couple of years practising in Germany before it’s of any use to you, right?