Boolean operations consistently producing weird results
Blender's Boolean operations are still lacking a lot. There isn't really anything that you can do about this. I do believe that there was some kind of add-on that fixed a lot of issues but I can't remember the name.

Maybe the Boolean operation within Edit Mode could give you better results. To do this (be in Edit Mode) press Spacebar and search Boolean. Choose the Boolean in Edit Mode option. Here is the official documentation: Link