I've made my own ballast spreaders in the past. For instance, I used a 1/2" PVC plastic pipe coupling for N-scale. I had to carefully saw/file the rail profiles into one end, along with enough clearance so as not to knock off delicate spike head details on the tie plates for Atlas code 55 track that I was ballasting. Just set it on the rails, fill it with some ballast, and drag it along. It worked about as good as any commercial unit, as far as I was concerned.
A short length of 3/4" or 1" PVC plastic pipe or a pipe coupling would probably work alright for making one in HO gauge.
I also made a ballast spreader for GarGraves 3-rail O-gauge track out of 3/16" lauan plywood (pic's attached). I simply built a small. rectangular box (with both ends open), and then cut/filed/sanded the rail profiles in one open end of the box to fit over the rails. It also works pretty good.
Unfortunately, some hand-brushing will still be required to clean off the top of ties, no matter what scale you're ballasting. This can be minimized however by holding the ballast spreader down tight to the tie tops while you're sliding it along. And obviously, you still need to do turnouts and crossings by hand without a spreader, but this isn't too hard, in my opinion.
While I realize that not everybody may be capable of making their own ballast spreader, for the ones that can, the cost of materials can be somewhere between zilch and next-to-nothing, depending on what you may have laying around. Just takes a little bit of time to accomplish.