I feel your pain, that is me too most of the time. That said I'm the only technical person around to fix these things, so I often can't step back and spend time sorting out the big things, or even figuring out how to prioritize things in the most efficient way. I think a big part of the problem, for me, is that it's hard to switch between the focus of coding and other things like people management and creative thinking about marketing. Personally, my solution is to get a good project manager involved. Someone who has technical aptitude so they understand the issues, but also able to gauge and manage the priorities of the people and everything else that matter. That way it simplifies your time management around coding and that type of problem solving.
It really is hard to switch between different modes of thinking. I think that is why it's important to carve out chunks of time where you can really dig in and focus on getting stuff done.