I use a Colormunki Photo... but that's only half the problem. That'll fix the image so it will look correct on your display. But you're not intending to look at it on the display, you intend to look at it on a physical print. You also have to calibrate for the printer. This requires some knowledge of how the printer works because every different type of ink and paper will treat the color differently.
Colormunki has the ability to profile a printer (so that the computer can skew the saturation of colors on the exported image KNOWING that once it prints, the output will actually look correct based on the combination of printer, paper type, and ink type.
But that doesn't do you any good because you're sending the prints out -- so you cannot easily profile their printer.
Some labs make their printer profiles available for download. If so, you can download the profile for the specific printer you intend to use so that your computer software will produce an file which is specifically tuned for that unique printer/paper/ink combination (the image wouldn't look as good if printed on anything else, nor would it necessarily look good on a monitor, etc.)