Max hikes his leg when we walk, which is twice a day during good weather. After each walk, I use a washcloth to rinse the part of the coat that he hits. I bathe his body at least every 5-7 days.
Inside, Max uses a piddle pad on a mat that is placed far enough away from the wall to discourage leg lifting.
You could try "The Stuff" to protect the hair from urine stains. Otherwise, I imagine the only options are to wrap or cut.