At my company, we have strong opinions on how to do this from both the mechanical and electrical teams. The detenté we have settled on is that for primarily EE-centric assemblies (I.e. PCB assemblies), we will add mechanical components to our docs to centralize BOM generation.
As we use Altium, the simplest method is to toss parts on the schematic, and set them to 'Mechanical'. They are then not included in electrical rule checking, nor are they present during layout -- they only appear on the BOM.
Most of these items are placed on the last page of the schematic (revision history) and include things like fasteners, the blank PCB itself, conformal coat, threadlock, heat sinks, etc. The blank PCB gets a PCB? Refdes, and we decided on MP? for the others -- no conflict with traditional reference designators and all parties understand what they mean.
With this method, the EE team owns that assembly, and generates (automatically) BOMs that include everything we need, the MEs need and the systems team needs.
As far as symbols go, the PCB placeholder is a simple square and one of my artful colleagues made representations of various fasteners, Etc that we place there.
Finally, just to throw some fuel on the fire, we put our plated mounting holes on the schematic only (not on BOM) so that we can see what their electrical connectivity is.