Sure, there are ACPI bugs, they hit windows too. But to claim there are "works on windows but not linux" bugs everywhere is bogus. If it works in windows, it should work in linux too, that is the point of a platform power interface like ACPI. When one actually tries to look at why the battery life is worse in linux, or the machine doesn't resume properly, overwhelmingly what one finds are linux bugs. Bugs, like the distro won't ship accelerated video codec's, or hibernate is broken due to the kernel refusing to support it with secure boot on, or the wifi or GPU drivers have bugs in their suspend/resume paths, or even simpler things like there isn't a clear project/owner responsible for detecting seat activity and making power related decisions. Sure the freedesktop/dbus/systemd interfaces are there, but often a WM of distro will replace one of those components and create another set of bugs. Never mind desktop Linux still doesn't have the concept of a foreground/background application split so even if it wants to do scheduling hints indicating that a minimized chat application shouldn't be consuming 100% of a cpu when in the background no such standardized component exists unless one is running android. Systemd rightly gets a lot of shit, but it has standardized parts of this functionality, like for example how an application requests a screen inhibit. Nevermind it takes 2-3 years from the point a machine gets released before all the driver tweaks/etc land upstream, and trickle down to your average users machine.
Bottom line, linux on laptops only really works because of ACPI, if you were wondering what the laptop space looks like without it, I might suggest grabbing a couple random arm laptops/chromebooks and giving them a spin.