I haven't really notice the quality of my photos much on Facebook as they are relatively good until tonight. Every photo I uploaded was grainy and very pixelated. I knew it had something to do with the compression but not sure how to fix it. With a little search I found an easy solution.
1) Change the PPI (pixel per inch) to 120, DPI (Dot per inch) if printing
2) Change longest dimension to 720 px, the other side should be 480 px if it's 4x6 dimension
That should be it. If you have multiple images Photoshop can automate it by going to File -> Automate -> Fit Image
Now your images should look relatively decent and enough for low Rez images sharing on Facebook!
You can read a more thorough explanation here: http://www.damiensymonds.com.au/art_facebook.html