Here are some ways to reduce the space taken up by packages:
Remove your auto removable packages:
go to System -> Administration -> Synaptic Package Manager. Click the 'Status' button in the bottom left. Click the Installed (auto removable) filter. Click on one of the packages and press Ctrl-a to select them all. Next right click on one of the packages and click 'Mark for Removal'. Then click the Apply button in the toolbar.
Delete your cached packages:
in Synaptic, click Settings->Preferences and click the 'Files' tab. Click the button that says 'Delete Cached Package Files'.
Set it so that packages are deleted once installed:
in Synaptic, click Settings->Preferences and click the 'Files' tab. Click the radio button that says 'Delete downloaded packages after installation'.
You could create a bash script to automate these tasks:
This could be run with this command:
Diagnosing where the space has gone:
Go to Applications -> Accessories -> Disk Usage Analyser.
Click the 'scan filesystem' button:
This should give you a breakdown of what space is being used and where:
Separating parts of the filesystem to different drives/partitions:
It is possible to put parts of the filesystem (such as /var or /usr) onto a separate partition on a different drive. The process would be the same as separating yout /home partition, which you have already done.
These tutorials: http://www.psychocats.net/ubuntu/separatehome and http://www.psychocats.net/ubuntu/mountlinux should give you the necessary information for this.