Spanish, in my opinion, is the most logical choice out of these three. It's easier grammar-wise - there aren't those complicated cases like in German, and the pronunciation is way clearer than in French, where you don't pronounce half the letters. Plus Spanish is much more widely spoken now, they speak it in tons of countries in Latin America and Spain, so it'll be easier to practice. Career-wise it looks pretty good too - demand for Spanish is growing.
German is a classic, of course, especially if your son later wants to go into technical universities or work in engineering fields where this language is still respected. But it's harder to learn, the grammar is serious, lots of exceptions. French I wouldn't even recommend - beautiful language, sure, but the pronunciation is a nightmare, the reading rules contradict each other, and it has less practical use in everyday life compared to Spanish or German.
One more thing - think about whether you have the ability to help your kid with their studies. If you or any of your relatives speak any of these languages even a little bit, that's a huge plus. I think for a fifth grader Spanish is the optimal choice between ease of learning and real usefulness. But if your family has connections to Germany or your child clearly has an interest in technical stuff, German might be more interesting.