The problem with ICC profiles for printers is that it depends greatly on the paper being used with the printer. Common paper types may have existing ICC profiles that you can use, however the best bet is to have one made for you. You can either use your own calibration unit or send samples out to have an ICC profile built for you.
Personally, on my Pixma Pro-1 I use a SpyderPRINT which works pretty well. I don't remember the specific services I saw for doing it by mail, but some quick searching found this one. I know there are others available as well, but I ended up going with the SpyderPRINT because I wanted to be able to update it over time and be able to work with different papers without having to wait for sending it in and paying for each paper profile independently. I also use a Spyder3 for my display calibration, so it was a natural choice for me. If you don't have screen calibration yet either, Spyder does make a studio option that includes both a Spyder4 and a SpyderPRINT at a slight discount.
One side note, getting a really good profile is a relatively time consuming process. You have to manually scan several hundred square for the best quality and you need to make sure to carefully position the device for each. In my opinion, the results are well worth it, but it is another thing to consider when comparing mail away services vs having your own calibration unit.