As others had pointed out before, it can have alot to do with some obstruction in the print path, the gears, or ink on the clear plastic encoder strip. You're on the right track - I found the the purge cap (the white sliding mechanism that the print head parks to when it's not in use) was not lubricated well enough from factory. If you lubricate the sliders with some white grease (don't get it on the small wipers or the black caps) the mechanism can now slide more freely, and the unit can park the head properly without giving you the dreaded head homing error 5100 (or E-2-2 on the LCD display) Keep in mind that this repair will probably require you to remove the right panel off of the printer to gain access to the purge mechanism. There are two screws behind the printer, and two in front for each corrosponding side panel (the front screws are behind the grey front panel of the printer - open the top cover to see the clips which hold the front cover on).
Basically, cleaning the encoder strip should fix the printer, and make sure to clean every little bit of it, even the area back where the printhead parks on the far right. This has worked for many others before, if it doesn't work though then I would advise to contact Cannon(if you have a warranty, otherwise it can get costly), or get a new printer. Sorry to come bearing bad news.
If you need anymore help please ask, otherwise have a good night and god bless!