You must first calibrate your LCD screen and create a Monitor ICC Profile. The best and only reliable way to achieve this is to buy a USB colorimeter. This is a hardware unit that comes with bundled software to create a accurate ICC profile for your LCD/CRT screen. The unit sits on your screen and the software goes through an automatic calibration test, testing different ranges of luminosities for RGB channels.......it will then create a ICC profile file for your LCD, so that what you see on the screen is "really" correct.
I recommend the Pantone USB Spyder with PhotoCAL. With rebates available now, this unit can be had for about US$150. It is worth every penny.
The Calibrated LCD ICC profile should be set in the OSX "Display" in system preferences.
A cheaper software only App to specificaly create LCD ICC profiles exists called "SuperCAL". Although better than no calibration at all, it really doesn't even come close to a true hardware calibration unit. The difference it made to my Pismo screen is incredible, accurate rich colors.
Last step is to download the an ICC profile for your specific Printer. This should be available at Cannon's site?
Put this file in your OSX colorsync profile folder. When you are working in photoshop, go to the Menu "Proof Colors".........chose custom and load your printer profile. Exit and make sure "Proof Colors" and "Gamma Warning" is checked.
This should hopefully get your prints pretty close to what you see on your screen.
Seeya