In case the phone still boots in recovery mode (usually hold Vol Up and Power-on) and you have root access you could run the command:
dd if=/dev/null of=/dev/block/by-name/userdata
This will put 0x00 to all your userdata.
As you said, the risk of drilling the battery with a drill is too high.
If there is no power at all, you have to open the device to find the main board and destroy it. And it's a little complicated process because you have to put heat on the screen to unglue it from the back part. And then just remove the main board and put holes on every shield you find.
I have seen many phones been destroyed by a professional company. What they did was to put the phone into salt water for about 30 minutes. It makes all boards completely unusable.
If you're just a regular user (not a public person) option 3 should be enough. But if you are really, really worried about your data getting in wrogn hands, I would say option 2 is better.