No, there is never a good time, only a time you need to do it.
When you upgrade, it's for a reason. Buy just what you need right now.
And don't worry about future-proofing a system - typically a spec or a socket will change anyways, causing you to build new system, even if it means like re-using some parts. This assumes an approx. 2 year upgrade cycle.
Most people I know buy one part below the top of the line, which is where most of the price breaks are.
Processor and hard drive prices will have a top end, some more up top with that processor, and somewhere down the line there is a big drop where the rest of the processors bunch up on the dollar scale. The top of the bottom (or middle) is what you want to get.
Rules of Thumb:
Double the MHz: +30% performance, typically
Double the cores: 0-85%, depending on whether the programs can take advantage of it
Double the RAM: 20-200% (depends on what you start out with and what you run, i.e. Battlefield 2 from 1 GB to 2 helps load time, stability, plus increases performance about 25% or so, but I did not measure this)
Double the disk space: +0%
If you're going to splurge on one component, do it on the RAM - more of that will get you more of a boost than a faster processor out of the same series.
Just my 2 cents.
This advice is what you paid for it.