What is the best way to divert rain water or snow melt from running off the roof above a doorway?

First, let’s assume you can’t change your roof in any significant way.

You are looking for an element called a rain diverter. Basically, this is an ‘L’ shaped piece of flashing attached under the trailer edge of your roof tiles/shakes/slats. In most cases it only needs to be 1.5″ to 2″ high to catch the water. In smoother roofs, such as asphalt shingle, it helps to angle it towards your discharge point.

Snow guards are a little different. They look basically the same but are heavier due to the weight of the snow. Some areas also have rows of them to catch the snow to keep it from falling off in a small avalanche. Keep in mind that if you do decide to go with a snow catching strategy you need to check that the roof section can actually hold that kind of weight.