I think one of the reasons driving/cycling/walking is so productive thinking time is precisely that you are constrained. You can't just waste time, you can't launch into stupid half thought out plans.
Edit: I forgot to mention, the same can be done with babies. When you have a baby, and have to feed it, rock it, clean up after it, change it etc. You're forced to just think about problems. It's excellent thinking time. Babies do come in useful after all!