The RGB colors seem to be right, but they don't match the CMYK colors which never print correctly. What is the best way to identify the correct CMYK colors that will print consistently at commercial printers?
The only way to do this is with an ICC Profile that defines their output conditions.
in my opinion,
u first need a color managed application that can ASSIGN (or assume) the proper Source profile and a properly-profiled monitor to proof the colors faithfully on the screen
if u don't have an accurate (properly profiled) monitor, Assigning the proper Source profile or proofing the colors on screen will be prone to error because the monitor space may be off
I will suggest using Photoshop for monitor proofing and device soft proofing processes (first checking for and using any embedded ICC profile in the original document)
then as Andrew wrote, your printer software needs to Convert to the correct output profile (i.e. the print space)...
"web safe range" may be outdated reference... simply Convert to sRGB for the Web and use the sRGB profile in Photoshop to proof the colors