You say you scanned a photo, and what you see on screen matches the original. That suggests that the weak link is between the monitor and the printer. Something is getting lost there. The obvious culprit is the printer itself: printed images have a smaller range of colors available than a monitor. However, as the original is a printed image, there shouldn't be much difference.
If you are just outputting directly to your printer, and if your color profiles are correct, then it shouldn't matter what color mode you are in, because the profile should translate your image properly. However, it can't work miracles. One thing to check is if your printer is capable of good prints in the first place. Second, make sure you are outputting on a suitable paper. A low-grade photocopy paper will output much duller prints than a high-grade photo gloss stock, and Photoshop has no way of telling what paper is in your machine.
If you haven't done so already, go to HP's website and download the most recent drivers for your printers. These will include the correct color profiles your devices. Be sure to use the right one with the right printer. Unfortunately, there are many variables involved in color management, and, as Spiderix said, your best bet is to become familiar with the color adjustment tools available in Photoshop itself.
You could create your own color settings, but it's very difficult, especially without the use of a colorimeter and densitometer. Basically, a test file is created with blocks of known colors, which are printed out and compared. Deviations are corrected (eg. If 50% cyan prints at 60%, the output profile for that ink is reduced at that point). The difficulty lies in the fact that the deviations aren't uniform. Some colors print perfectly, so these must be preserved, while others are off a bit, so they must be changed without affecting the others. If you're familiar with curves, you'll have some idea how it works. If you do want to go down this route, don't alter any existing color settings, but work from a duplicate.
hth