Hi, that's a very valid question. The way I get around it, is that I use A2SD - in a few easy steps
1. Backup the contents of your SD card.
2. Use (the free) Minitool partition wizard http://www.partitionwizard.com/free-partition-manager.html to create 1 primary FAT partition, and 1 primary ext2 partition on your SD card.
3. Copy the contents of your SD card back onto it.
4. Install Dark Tremor A2SD (http://forum.xda-developers.com/showthread.php?t=715940) using clockwork or Recovery Manager.
5. Restore your apps (I use Titanium backup) and they will all be installed on the SD card, so as long as the ext2 partition is big enough, you won't run out of space .
Then, just to be sure, when installing new ROMs over the top, flash the new nightly, and then flash Dark Tremor immediately afterwards, just to ensure it's still set up and working correctly.
Exactly what i do works every time too!