I'm not sure who to blame. Here's my interpretation:
ACPI is a standard. My understanding, is that either the BIOS makers (and, I suppose, underlying hardware manufacturers) either treat the standard as a "suggestion", or the standard is so loosely defined as to defy any functional interoperability based upon it.
In general, if Microsoft's operating systems function with a particular ACPI implementation, that's often considered "good enough" to ship to customers.
For OpenBSD's kernel, users may disable individual ACPI related kernel components, or, disable ACPI entirely. There are, in addition, diagnostic tools, such as
acpidump(8), the output which can be used as part of a problem report one sends to misc@ or in an official bug report.