Problem with recalculating normals in a complex mesh
Part of your problem, and this is what's likely making Blender a little confused on how you want it calculated, is you have faces intersecting other faces. Blender doesn't really calculate that scenario well, because it can't tell which faces are inside and which are outside. However, you do have options available to you, if editing your mesh is either too much hassle or you absolutely must have it done this way. Your first option is to simply add a thickness modifier with a low value, apply, and recalculate it again. However, this is going to, at minimum, double your vertex count. It could play nicely without applying the modifier, but it's never done that for me (I hope you prove to be an exception). As well, you'll still have intersecting geometry, which is the crux of your problem.

Next option: Duplicate your problematic model in object mode. DON'T MOVE IT. Add a Boolean modifier and change the setting to union. Select you original object from the drop down. Apply the modifier. Now hold shift and select your original model via the outliner window (the one at the top right that lists your objects). Join them together by using CTRL + J. Now go into edit mode of your new object and select everything. Finally, remove doubles by either searching for the function or using the option on the toolshelf (the same general area of the screen where you find the flip and recalculate normals options). You might should still add a very slight thickness to it to help with light calculation, but this should at least make it easier to fix your normal facing issue.