I'd vote for Python or Ruby. C++ is The Language for doing as much as possible statically at compile time. Learning Python or Ruby will teach you how to think in terms of doing things dynamically at runtime. I'm in a similar situation, using D and Python as my primary languages. D's template metaprogramming is much more powerful than C++'s, but it's still all at compile time. Python's metaprogramming and reflection is all at runtime. It's a very useful combination because often there are idioms that are useful in both languages, but are more obvious in one than the other. Therefore, my D experience makes me a better Python programmer and vice-versa.
On another note, Python and C++ complement each other in that C++ is good at performance and bad at programmer productivity, where Python is just the opposite. If you learn both, you'll have mastered both ends of the spectrum on this tradeoff.