I think designers have this problem since anyone can have opinions about design. It's also hard to argue objectively why one design should be better than another, since design is subjective (for most parts).
Maybe the design process should be more "Google like" and include more design patterns that are field tested. The basic principle should be to use data to back up claims instead of subjective arguments. An example, if the customer wants an "intro page", then point to a "anti pattern" that argues against intro pages. Etc.
Design patterns are fine, but a bit theoretical for most people. Everyone will say "sure, that's true in general, but I think we'll get it right, because of blah blah blah..." I much prefer A/B testing each individual change and showing the client how many of their customers think something is an anti-pattern.
Maybe the design process should be more "Google like" and include more design patterns that are field tested. The basic principle should be to use data to back up claims instead of subjective arguments. An example, if the customer wants an "intro page", then point to a "anti pattern" that argues against intro pages. Etc.