I did something similar, which was to just use the "shutdown /s" command at the command line. Copied into a batch script on my desktop does what holding the power button does.
The battery still drains, though - although not quite as fast.
The issue is not the battery drain problem, it is Microsoft's abject refusal to acknowledge the issue. Scroll through this forum and you'll see dozens, if not hundreds, of people with the same issue. With me, Microsoft put me through a few exercises and asked me to post the results so their engineers could look at them - but once I did that, they stopped their communication with me. You'll see others being asked to do the same thing - with the same result ... "hey ... where did you go?"
I actually have a definitive solution to this issue, and I am on my way to implement it.
I am going to compare an HP, a Lenovo Yoga, and a Dell Inspiron, and replace my Surface 4. The 6's look really nice, but I don't trust the company that makes them.
I've said before that I firmly believe that this is a business decision on the part of Microsoft. They understand it's a hardware problem, but the cost of a recall would far exceed the cost of the lost business of people like me.
Years ago there was an artificial-fat product that came on the market - it had the flavor & texture of delicious fat for cooking, etc., but didn't have the health risks associated with the real thing. The company and the ad agency put a lot of money into marketing and advertising. They soon found out that there was another issue with this product - one that caused a rather embarrassing situation at laundry time. Had word gotten out, it would have meant big financial problems for everyone - so it was kept very hush-hush. Internally, it was referred to as "The BSP", (Brown Stain Problem), but was discussed only among top executives on a need to know basis.
This is what companies do. It's shameful, but they do it. I have no proof that Microsoft is doing this, but it's hard to come up with a more viable explanation.