@Nigel said:
I have attached one of the levitating IFCs
in addition, can anyone suggest a rationale for why everything is an IfcBuildingElementProxy?
The native software is not capable of exporting a good IFC I think?. However I was eager to test drive the BlenderBIM add-on with my own add-on. What I did was filter all the IfcBuildingElementProxies in a spreadsheet and list them by the information I had. I used BlenderBIM to assign them all a new IfcProduct.

Making a new IFC export with BlenderBIM worked like a charm with almost each element assigned a new IFC Class

I've attached this modified IFC file to this post.
Keen to hear all comments about the attached as it will help scoping future deliverables from contractors
I don't know the situation in New Zealand, but in the Netherlands there is an active initiative called the ' BIM Basis ILS' or 'BIM Basis IDS' in English. The one thing which is quite unique is that this initiative is not stimulated by the government. But comes from the sector itself. People who work at architectural offices, contractors and structural engineers, MEP engineers, suppliers organize meetings twice a year to discuss standardization in IFC models. Which resulted in a very simpe two A4 papers in which the standards is described.
So I took one aspect of this which if often overlooked. That's from the start of a project where to model the 0-point.
I've modelled a cube in your model which I placed on the 0-point. In Blender BIM that's where the X and Y intersect obviously

In BimCollabZoom there is an option to show the model origin.

The reason it's a very simple cube so it's very easy to align multiple models in software like Autodesk Navisworks for example.
Hope these are the answers you are looking for.