Over the last few years I've seen a few suggested 'Visualisation' training ideas mentioned in print, and I've even seen a couple of commercial software products advertised. But today while searching Freshmeat for new open source chess products, I came across CVT, ot Chess Training Tools for Visualisation. It is a Java program written by Dietrich Kappe, and contains a number of different training modules designed to help you improve your calculating abilities.
For example there is 'Color' which names a square and you have to choose whether it is white or black, and 'Same Color', which names two squares and you choose whether they are the same colour or not. The 'Knight' and 'Knight 2' exercises name two squares and you decide whether they are a knight move (or two knight moves) apart.
It also has a weak chess engine, with a twist. When you play it, you can specify the delay between the moves played and when they are shown. If you set the delay to 2 ply, you see the board as it was 1 move ago (2 ply = 1 move for each player), forcing you to keep the real position in your head while you analyse.
Now while a lot of this may seem trivial, I know a number of strong players who actually do these sort of exercises on a regular basis. The principal is based on the more correct the position is in your head, the less mistakes you will make in calculation.
CVT can be downloaded from http://code.google.com/p/chesstraining/ You do need Java on your computer to run it, but most machines already have it installed, and it ran without problem for me.