Keep in mind that you don't need ranged or flank null on the VH party. If you place a decoy in front of a tank, they will always get blocked. You just need all the AOE nulls and sustain.I have tested this, yes. When I gave a protected division Range Null so that Vanguard's Honor would activate, the enemy then attacked the Vanguard division with that Ranged Attack notice popping up near their attacker.
Ranged Null is excruciatingly rare. In fact, I hired every single unit (locked my currency values with Cheat Engine - a lot more effort than it should have taken, but was worth it) specifically so I could search through their skills and types to compose my NG+ teams. When I was looking for Ranged Null, it was nearly exclusive to Division Leader skills, and there was only about one row of units displayed that even had it at all.
The highest tier of Shields has one shield (that you can only have 1 of!) that gives Ranged Null. The third highest tier of Vestments also has one with Ranged Null (you can have up to 3 of these). Those are the only sources of it that I recall aside from Division Leader skills. I did not find any Tactica that give Ranged Null (and I have them all).
To be completely frank, it is impossible to have more than one full battalion (1 from shield, 2 from vestment = 3 divisions, 1 vestment left over) covered by Ranged Null from non-Leader Skill sources. I believe there may have been just enough units with it as a Leader Skill to make an additional 8 or so divisions with it, for a total of 12 (which is enough). That said, I do not yet have a fair number of the unlockable unique units, some of which may have Ranged Null.
To add, Flank Null is in a similar boat (rare, found mostly in Division Leader skills, and 5 pieces of equipment).
And to be fair, this is a good thing. Perfect Vanguard's Honor across four battalions of three divisions each would be insanely overpowered.
With those ranged/flank null items, I guess you could set up 2 battalions. Then you could set up a third one with some unit skills. That should be good enough.