Get a printer with at least 2 separate cartridges, one for black and another for color. Some have multiple color cartridges, one for each color, but those usually cost more. Just don't get a cheap printer that only uses a single color cartridge and mixes them to make black.
I have had good luck with HP deskjet printers. I had a 660C and it lasted for several years, and now I have a 952C and it's lasted for around 3 years and still going strong.
Look for last year's model. You can tell they're last year's model because the price is for some reason about $100 lower than other printers that have about the same features. The "good" ones will sell for $299-$350ish when they're brand new, but a year later the same printer will sell for $199 or even as low as $150ish. So just look for the one that is priced about $100 lower than others just like it, and you're probably looking at a fine printer that's just last year's design.
I got my 952C this way... It was pretty darn expensive but I waited and finally saw an ad for $100 below the normal price, and then I got it. I aim for the price range of $150-$250, trying to get a printer that is priced below it's usual price range because it's just not the newest model anymore.