Is there a recommended way of extending the system partition short of rebuilding the thing?
It's quite easy if you have access to any one of a variety of programs which do partition management. Partition Magic was one which served well up to recent times, when it seems to get upset if there are linux partitions on the drive.
More recently I have used the Paragon programs which seem to work very well also. There are probably freebies around which do the same job, but I have been happy to pay for something which will be messin' around with my data.
From what you have said, the procedure would appear to be:
1) Reduce the size of the D partition at the start of that partition by the amount that you need to increase the size of C.
2) Reduce the size of the Extended Partition in front of the D partition that you have just made available by operation (1) to the minimum available.
3) This should leave the required amount of free space at the end of the C partition which you then increase in a third operation to absorb that space, and make it part of the C drive.
Most programs have a graphical interface which makes this much more clear than my written description. It's much easier in practice than it may sound. I do recommend that you do each of the above steps separately, even though most programs allow you to set up the entire job as one procedure.
The last one (resizing C) usually involves the computer rebooting to do this as a DOS operation. I don't think that can be done any more in W7 so I don't know just how this might happen under the new OS. Make sure therefore that whatever program you choose to do this is OK with Windows 7.
It's a relatively simple and safe operation with the right software, and while it's recommended that you backup your data before changing partitions, I have never done so, largely because it was too much hassle up until the appearance of large and relatively inexpensive external HDDs. If you already have data on the machine which you'd rather not lose, it may be a worthwhile precaution.
Good luck,
FOR