Wow, this is a problem that haunts many home users too. First you need to calibrate your monitor, start with "srgb" and calibrate using the monitor calibration software on your computer. For publishing your images on the web use "srgb.icc" when saving RGB images in Photoshop. Next find out if your printer uses CMYK files or RGB files to print. If it uses RGB files and converts them in the printer's software then try sending images saved with "adobe1998rgb.icc". If you need CMYK files to print and you work in RGB in photoshop you will first need to make a copy of the image, convert it to CMYK, open it in photoshop, compare it to the RGB file, adjust the colors for the conversion loss, then save as an "USsheetfeduncoated.icc" for plain paper or "USsheetfedcoated.icc" for coated paper. Your printer software will have various profiles to choose from, unless you have lots of equipment for color management you just need to select the print that most closely resembles your monitors image and always print to that profile.