In one of my previous posts, I've discussed internal upgradability of laptops becoming a rarity. Most individuals will then do the perceived and most sensible approach: buying the highest end hardware they can afford, hoping to "future proof" the device in the coming years.
With the nature of technology advancement being so rapid, such approach may be deemed unwise. New, faster and more efficient hardware are coming out of the market almost every day. Thus, the best components of today may very well be second best the next day. Hence, it's going take tremendous effort to keep up with the standard financially. This alone makes the approach ineffective unless you are able to afford it financially.
Having a realistic idea of what you are going to use your device for is important. That being said, a realistic goal refers to the list of tasks that you are already doing on a daily basis. This includes the task that is related to your work or hobby. In my own opinion, I will always try to avoid buying additional hardware thinking that I'll utilise them in the future, for example, buying a high-performance graphic card and thinking that it will be used in future video editing work. Unless you are an avid video editor or working in this line professionally, chances of you needing such high-end hardware are low. In general, your machine must be functional and efficient in its tasks and any additional bell and whistle will just incur more cost.
I am not saying that I do not support the development of new hardware in the computing world. Developments such as these are critical for the industry to progress. However, spending money in unnecessary hardware specification for your machine makes me cringe because it does not "future proof" your machine entirely (remember the best of today may be second best of tomorrow), and that is often a common mistake made by individuals, including me. Back then, when I was purchasing a laptop (Macintosh based) for my diploma studies in audio visual technology, I also made a mistake in spending the extra cash for an upgrade in a graphic card, thinking that this upgrade will vastly benefit my work. To be honest, in any way you compare it, the additional horsepower from the graphic card does definitely help in my rendering workload. However, the extra processing power from the card is not necessary to complete the task. Many would often equate better hardware to the quality of work, especially in the field of creative works, which is definitely not true in any way. At the end of the day, pick a configuration that will be able to perform the tasks given at a comfortable speed.
In practice, when buying hardware for myself, "future proofing" will never be a criteria that I will consider. No matter how well you planned and budgeted your hardware, it will never truly be "future proof". On the other hand, scalability options in one machine is often a better sought after approach. Not only will it help to compliment your existing system, it also helps to keep your machine up to date with introductions of new hardware (e.g. Network attached storage (NAS) to expand your storage capacity, or raid drives to improve your read/write speeds so as to off load the burden on a single internal drive). Such practices allow the user to only make purchases of new hardware relevant to their needs, and scalability of the system can be done periodically so as not to tax the user financially.
If one insists on "future proofing" his/her new purchase hardware, I would only recommend getting the best processing chip you can afford as this is the only component that is often difficult to switch or be upgraded.