Outsource it.
I know some people on here are fans of "do everything yourself," but I am on the same boat as you, and no matter how many books on design I buy or how much I study about color compatibility, it's just not my thing.
This is what worked for me: I found and hired a designer that I could communicate with. He understands what I am getting at and asks me the right questions when I talk to him about a new design. He is great with design and HTML/CSS coding, which is exactly the stuff I hate doing (I hate it with a passion; specially dealing with different browser version render issues).
When he is not designing, he helps me out with testing. This is a double benefit because he does not think like a programmer, so he tests differently and finds different problems than I do.
So I believe this is optimal use of both of our times (and one more person has a job, which is a good thing these days). Maybe something like this will work for you.
EDIT: There is a school of thought that says you should not try to do everything, you should try to get better at what your natural abilities are (The "StrengthsFinder 2.0" book is highly recommended, by the way). For me that's certainly true. Programming, logic, business issues come naturally to me. I live and breathe that stuff every day, all day, and then I'm hungry for more. Stuff like design turn me into a failure. If I need to do a visual design, I procrastinate at first, then I force myself to do it, then I take too long to do it, and then the result is trash. So I attack my weakest spot with a competent person I don't mind at all paying because his output is so much superior than mine.