I use Corel X3 but that is licensed and not free, but a good free editor you could use is called Gimp. You'll find it at Gimp.org
Not sure about Fireforks as I've never used it...
Edit: whatever you do use, a good tip is to resample it to match EITHER the maximum width you want OR the maximum height you want, while maintaining the aspect ratio. That will ensure that the image doesn't distort out of shape. You can then resize the image by increasing either the height or the width, so that the dimensions are correct for use on your page.
Does that make sense? If not, let me clarify:
Say your image size is 420 x 340, and you were previously squeezing it into an area on your page of 320 x 250. The image will be out of shape because 420 x 340 does not naturally scale down to 320 x 250.
So in order to resample the image so it looks OK, you could first try resampling it to a width of 320 and allow the height to sort itself out (by setting it to maintain the aspect ratio). This would give you an image of dimensions: 320 x 259. But as you can see, the height has been set to 259, which is larger than the 250 you want it to be.
So undo that. Now resample it to a height of 250 and allow the width to sort itself out (by setting it to maintain the aspect ratio), and you get an image of dimensions: 309 x 250. The 250 is fine and the 309 is slightly less than you want.
But instead of fiddling with resampling to change the 309 into 320, you would OK that and you'd have an image of dimensions: 309 x 250.
Then, you would adjust the image size (paper size) by increasing the 309 to 320, without adjusting the height - leave that at 250. You then get an image with the dimensions you want, and it isn't all squashed out of shape.
Hope that hasn't confused you...
----------------------------------