That's cool. I really appreciate the time and effort to put it all into pictures too.
The way I've done it is to just create like 20 different pieces of guardrail pieces then make a group of them. Then I create a plane that is same length as the wall pieces. Add array modifier on the plane and make it as long as you want your wall to be. Apply array modifier. Then add particle system on the arrayed plane:
https://i.imgur.com/qWlmuqe.png
I'd guess the biggest weakness of this is that you need to apply modifiers and particles before it follows the curve modifier in the end so it can not be adjusted after its done. But you can also have lots of different pieces.