REGAPPs don't occupy much space. Purging them just removes a string (the name) from a list.
Along with the XREFs, keep in mind a few other points:
Level of detail: If you are using objects to generate drawings then keep in mind how big they will be at the desired drawing scale. A bolt head on a 1:100 drawing will be a very small blob, which is a waste of effort and file size.
Block inserts: the more inserts you use, the more efficient they are. The first block will cost you file size, but subsequent inserts will be far less. Find features that you can duplicate and create blocks for them. For example, a crane boom is literally built by bolting together repeated 6-meter lengths. Instead of individually modeling each segment, create one as a block and insert as many segments as needed.
Curves: Curves are expensive. Never use a double curved survace (sphere or torus) when a single curved surface (cylinder or curved rectangular section) will do. Never use a single curved surface when a flat section will do. Implement with both level of detail and block inserts notes above.
Freeze layers: layers that are turned off regenerate. Layers that are frozen do not.