I suggest GIMP or Photoshop- you save the pic as a .jpg in a lower quality. GIMP is free- you can download from gimp.org unless you have Linux. GIMP is usually bundled in Linux so no downloading necessary. I either program you oen up the picture, make any adjustments you want and then use the "save as" function and choose a medium or low resolution file.
Oh, and if you crop the picture you will also make the file smaller, but that will remove parts of the picture. Another alternative: resize the picture in either the graphics program or online at Photobucket or Flickr or one of the other photo album sites