I'm surprised you haven't mentioned GNU screen or tmux (I used to use screen but later switched to tmux). I personally can't live without it. Not only is it a great way to manage multiple terminal instances but for me the killer feature is the ability to connect and attach your entire session from a remote location via SSH and that you can leave your session running when you disconnect.
As for terminal emulators I've grown very fond of the Quake-style drop-down. I use Yakuake and set it to run "tmux a || tmux" on startup so it will automatically attach a tmux session if one exists otherwise it will start a new one.