Attach mesh to camera, not camera to mesh

Shortly: I want to attach head’s bone and whole animation to camera’s current position or character’s position, not vice versa.

I created a character with first-person camera attached to the head bone. When character moves, animation bends a little bit forward and head passes through a wall, and hence camera clips through the wall too. I don’t want such ugly behaviour. I tried many different workarounds like socket offset etc, but nothing works properly because my model is not just first person arms, but whole mesh of player. What I want to do is: Manipulate character and it’s camera movement independently from animation and align animation by camera starting from head position. For example: Move camera, Camera collide (not clip), Animation’s Mesh getting aligned with camera’s current position starting from head’s bone.

I know it sounds confusing but I can say in another way: Camera = Head, but camera decide where the head is, not vice versa!