Thanks for the information. I don't think I'm having problems, but I'll mimic the behavior of your patch more closely.
You can skip the rest of this post; it's just for background information.
Instead of replacing the ACPI tables, I'm using RehabMan's "hotpatch" technique. This uses Clover's ACPI binary patching in combination with newly created SSDTs. For example, you can supply your own GPRW, as long as there is no conflict with an existing GPRW method. If you examine the Lenovo Z50 ACPI tables in Hex Fiend, you can get rid of the existing one with a binary patch of "GPRW\x02" to "XPRW\x02". Disassembly of the binary-patched AML files shows that the only "Method(GPRW, 2)" has been renamed to "Method(XPRW, 2)". So our own GPRW will now load successfully.
Why would you use hotpatches instead of text-based MaciASL patches?
It is more likely to survive BIOS updates; if the ACPI tables have been fixed elsewhere, hotpatching will keep the fixes. It is simpler for users. They can't miss a step in patching. All they need are the new SSDT files and a config.plist. (However, it is more work to create the patches in the first place.) It is possible the patches may work directly on other models in the same product line. The ACPI tables for the ASUS UX305FA are different than the UX303LA, but the parts of DSDT that we want to patch are identical.
Anyway, it can be a fun puzzle too.
(I see jhawk on this thread. His guide for the UX305FA was really, really helpful.)