The weakest arguments against best practices, to me, is a pedantic argument. There isn't a "best" practice there is only a state of the art. Structured programming in its infancy, for example, was not widely adopted and not considered in the state of the art until programming languages adopted its ideas and went into widespread use. During that time it was still the state of the art to write code with goto. Perhaps I'm alone in this but I don't think most people confuse, "It is best practice to avoid character requirements in validating passwords," with "this is the objectively best way to validate passwords." They mean, "this is the best way we know how," and are referring to guidelines like the NIST SP 800-63 publication on digitial identity management.
[0] https://en.wikipedia.org/wiki/Software_Engineering_Body_of_K...