Let me start off by saying thanks for testing and for giving great feedback. I have several comments and responses to your feedback. Please don't take any of the following the wrong way. I'm merely trying to present my perspectives about healing and about how the macro does and should work.
You shouldn't have to have two different ones. The macro determines on its own whether to use LHW or CH. If the target is melee, it will use CH because the assumption is melee are close enough to make it jump. If the target is ranged, it will LHW because the assumption is ranged are NOT close enough to make it jump.
The macro does both Riptide and NS. By default it will use NS if the target is below 10% health. If you want to NS at a higher percentage, change the value of the vNS variable in the first line of the macro. I also plan to make it possible to configure it as a raw HP amount rather than as a percentage.
Spam the button slower. This is why I'm against stuff that pushes the button every 0.1 second.
Let me explain this in detail...
So you know how when casting you're supposed to spam the button a half-second or so before your previous cast completes? Everyone knows that is because of latency. You actually need to send your command for the next spell before this one completes. So that also means the result of the current spell (a heal in this case) is not known when you send the next spell. So if you're super spamming the macro doesn't know the guy got healed until it's already sent the spell to heal him again. So if you spam it super fast you'll heal the same person again because the first one hasn't registered yet. It's the same as how there is a small delay for your unit frames to update when someone takes damage or is healed. Latency is a bitch.
If you spam the button slower, you won't see the double heals as much... But even that will soon be outdated as I've been modifying the healing macros not to prevent this problem. I'm going to make it detect that you are casting a healing spell and if so not consider that target for choosing the next target.
Ok let me explain that further...while you are actively casting a healing spell...you are still spamming the macro... So it is examining all party/raid members and deciding who to heal and sending the command. But of course the spell you're casting right at that moment will actually change the decision of who should be healed. So I'm going to make it not consider that person so it will heal better in those AOE situations when many people have taken damage. Now I know sometimes you DO want to spam heal the same person and don't worry I'll handle that too with an HP threshold. That way it will spread the love around when lots of people need healing (like it should) but also know when it needs to back-to-back double heal a low HP target.
With those changes and a good config setting for the vNS, you should never need to switch to manual mode. Even now though, I think setting vNS more to your liking and just spamming the button slower will make you want to jump to manual far less often. Remember the macro evaluates the entire raid's health, chooses a target to heal, and chooses the spell to use all in a tiny fraction of a second. If it's logic is good, it will be as good as is at all possible for a reactive system. The only way to make it proactive would be to scan raid members for aggro and/or debuffs to be able to proactively start casting before they take damage...but that's a problem for another day.
(Teaser: Along those notes, I'm calculating "expected healing" as part of the druid one so it knows whether to put up more hots or do a nourish or whatever...so I could take that and use it in the other healing macros to choose targets better. I may even look into if I can link into the incoming heal library that many addons use. It'd be nice if my macros could detect "oh the pally healer in the raid has a huge incoming heal on that guy" so I could not heal him... Also then of course we could set up a "sniping mode" to always try to undercut other healers to dominate the heal meters and make them look like foolish overhealers...MWUHAHAHAHAHA!)
Since NS is an instant heal...it's purely reactive...you can't NS them before they've taken damage. And if they're already taken damage, it's all about reaction time to use NS. I doubt you can react faster
than the macro...like I said before, you may want the vNS set to a higher percentage. When the macro wants to use NS, it will even stop casting so it will interrupt some other heal to do the NS heal on the low target...so it's reaction is as good as it gets.
Wind Shear is off the GCD so it won't block you from doing NS heal. If you macro in tidal force though, that WILL slow you down because Tidal Force activates the GCD. The macro doesn't use Tidal Force for this reason. If you just interrupted and someone's health percentage is below vNS, it will NS them and they will live you're latency is so high the instant doesn't get there in time.
I'm glad you've been having success with it. Furthermore, I'm VERY pleased that you feel the macro has improved your knowledge and help you learn. I think that's a huge component of all of that is often overlooked. Even just what I've typed in this response is a far more detailed discussion about healing logic than you can have with a lot of people. =p
Yes...read the posts it makes it pretty clear how to configure them. To be honest though the default values are sufficient for running heroics. I make all my macros to be just as effective in 5, 10, or 25 man content. You shouldn't have any issues.