Boolean modifier difference not working I know this has been asked before - I've looked through and tested them all, and none works.
I'm using Blender to create a medical implant for 3D printing. I need to make the inner and outer casing fit exactly, and have been using Boolean Difference to "subtract" the inner volume of the casing from the outer casing. Normally, Boolean subtract works, but in this case, it either gives the error message "Cannot execute boolean operator", or simply deletes the whole upper casing (see overview figure - can't attach more figures currently). 

I've tried:


removing duplicate vertices (edit mode A, W > remove doubles)
recalculating the normals (edit mode CtrlN) 
applying scale/rotation (object mode CtrlA)


Yet nothing works.
I know this has been already asked a lot, but I have yet to found a go-to guide to systemically troubleshoot to find the problems with Boolean operators. Any thoughts? Blender file attached. 



blender file
I add an answer to post pictures, here.

I checked your mesh, both shapes have some problems that could make boolean troubles... eg:





maybe try to fix those weird shapes...