The short answer that I have is that it takes practice, planning, and experience to elevate programmer art to better looking programmer art. You absolutely can find an artist and make much prettier pictures to use but you still have to figure out how to best use the assets you'd be provided with.
Since you sort of asked for a story about experiences, I'll share. Though, I don't imagine any of this should be considered "best practice". (Sorry, looks like it got kinda long and probably does not apply to your situation but rather than a specific solution maybe think of it more like the degree of planning that can be involved.)
With my programmer art and being a hobbyist game programmer, I've tried to just keep it as simple as possible. Right now my base human graphic is side view only and is just a rectangle with feet and 1 black pixel for an eye. Then I made a couple simple, one color shirts (with a bit of a noise texture) to go on the upper body, pants for the lower body, hats and helmets for the head, and a sword to go in the hand. When I started with this base (it was while working on the dungeon crawler challenge), I was fine with a game where everyone just looked like basic primitive shapes. Then I started putting the clothes on them and they just started looking human.
Where things get particularly complicated is with animating limbs.
Some time back, I figured on dealing with this issue for arms by making the hands completely disembodied. I don't need to deal with creating clothing frames for every which way that my character might wave his arms for whatever dozens of actions I may want to include. Instead, the hands are kinda like the clothes in that they're painted separate from the main body. Hands can hold one object, follow along with the character, and, when commanded to do so, can be engaged in an animation such that the hands are moved relative to where the player is.
In theory I could have done the feet disembodied the same way but I ended up just with short simple black lines for legs that I try to either completely obscure or expose with whatever clothing is chosen. Robes, dresses, skirts, and shorts all generally look about what you'd expect as the base sprite runs a single basic walk animation under the clothing. Where it doesn't work quite as well is with like a pair of jeans where the clothing would have to follow the legs. If I make the legs of the jeans wide enough, it can look mostly ok but it doesn't look like the legs are moving while the character is walking (I don't animate the jeans). I think I've had some "jeans" work such that the bottom pixels implied a bit more length than the shorts and with the legs being black you can kinda look past the lack of further detail.
I only implement a left and right side view. I find that straight on front and back views are tougher to work with. At first I felt like a cheating and told myself that if I ever wanted to really release something I'd create front and back views later with an artist. Then I saw some games released in Google play where the sprites only had left and right side views and at that point it occurred to me, the view as I have it is just fine and I'm not going to worry about other directions unless I really find a need to.
The more details you add the more it seems to highlight the other details and flaws that you haven't attended to. For example with my hand animations, it's great that I can make the hands sway as the character walks and I can use it as part of a sword thrust or item use animation. But as it turns out, at the moment, my system isn't setup such that I can play an animation then have the character go do something else when the animation completes. For my current project, I want to have a lot of little detailed actions that the characters do as they progress through a story. It works ok for some and not others. And the ones that it doesn't work for seem like they really stand out to me.
Much of putting a game together is smoke and mirrors. If in your game play you fudged a randomization result such that you knew that the player was going to get an entertaining experience you wouldn't feel guilty about that at all. Whatever tricks you can think of to elevate the look and feel of your game, give it a shot. I have lots of offset values, collision rectangles, layer positions that I manually tweak to make a level look and function better. Relying on whatever system I've coded to do it right every time isn't always practical.