I only know it because I have had the same problem with helmets from TLD.
In openBRF you can import a normal human head from the Native files, it's called male head if I remember correctly. It has only half a head but you can mirror and combine it to get a whole one^^
Then you first click on the head and second on the helm, press 'multi-vie combo' to see both at the same position. You should now see how much you have to move that helmet around. Right click on the helm (take care that you still have selected both) and choose roto-translate-rescale. If the helmet has the correct size, only translate is important for you, you can move around the helmet there. Take care that you have checked 'Apply to last selected object only', otherwise your head with the reference position gets moved too (That's why it is also important that you first select the head and afterwards the helmet).
After you have moved it, select all other helmets or submeshes (without the head and the first moved helmet), go again to r-t-r and press Ctrl+R for autoapplying the last changes. Be aware that it applies only the last changes. So if you have moved the helmet a bit at the x-axis, pressed ok and checked the position and are moving the helmet in a second action at the y-axis, the Ctrl#R combo is only remembering the movement of the y-axis.
Not sure if that here is a good explanation