I have a laptop with 4GB RAM, but when I first set it up, I had no plans to hibernate so I gave it 2GB swap. I don't want to use a swap file, so is it safe to resize the swap partition (and of course the main ext4 partition)?
Yeah, that should be just fine. Swap space is used when the system has too many applications running to hold all of their data in memory; it's a feature of the paging/virtual memory system. If you shut down the machine properly before repartitioning, there shouldn't be any data in the swap space and you should be able to expand it safely.
The problem you will encounter is that if you try to resize a partition it probably won't work as you are currently using it. In the computer system jargon we says the partition is "mounted", reflecting the fact that you can browse it and access its data.
So what you want to do is boot from a Live CD or USB and use the disk partition manager to resize your "home" partition for instance. As you would have started the computer from the Live device, your real home partition would not be "mounted", and as such you can edit it.
Though, in most cases you won't have problems resizing a partition you should always perform a complete backup of your data on your computer. And in addition, you should check the following, it will help avoiding problem:
But don't be afraid, it's doable. I've done on a production development server at work. And everything worked fine.