This post attempts to outline how a project will develop (understanding there are exceptions) when considering multiple firms/models and attempting to keep each model aligned both in Revit's model environment and relative to the site location and survey information. It differs from previous explanations I've offered here because the separation of models tends to challenge the
traditional Publish and Acquire Coordinates tools. These tools work more readily when all the models co-exist on the same network, shared among the team. Less so when that isn't possible.
In the beginning..."You" (an architecture firm) start your project without a reliable survey. Sometimes the survey is a hand drawn document from a "couple years ago" or it's just a legal deed description. Maybe it is just from a survey you don't trust? Regardless you are less than excited about relying on it completely. Someone arranges for a survey or less convincingly...one is being promised.
Using a new project template (your killer office template of course), start your Revit project at (near) the origin in Revit (project basepoint). Don't even worry about the survey information for the moment. Draw the concept so it is easy to put on paper, on a printed sheet. Doesn't matter if it is angled or new fangled, just orient it so it is "easy" to draw.
When the survey comes in or you are forced to do some site documentation (guessing) create a new Revit project file (for example call it: Site Master or Master Site) and create whatever information you intend to use in this file. The presiding reason to create this separate file is to minimize the pain and suffering should the building location change or if there is more than one building involved. Work in this file, orienting everything with North as the top of the view, North is "UP" (like World Coordinates "WCS" in AutoCAD).
You also need to match the coordinate system of the Master Site Revit project to the survey. The most reliable way to do this is to agree on a benchmark location in the survey and use those values with the Specify Coordinates at Point tool to define that same spot in Revit. The reason it is most reliable is that large coordinate values do not get extracted properly using the Acquire Coordinates tool. Safer to use the one that "always" works, I think. When the survey is imported into Revit use Auto-Center to Center so that it is near Revit's own origin. Then the Specify Coordinate at Point tool will adjust the Survey Point to indicate where the survey 0,0,0 (origin) is. If you "un-clip" the Survey Point first you can use it to mark the benchmark and it won't shift to mark the survey origin.
Now that this file exists you have some understanding of the site and hopefully have an idea about where the building ought to go. Import your building model using Manual at Origin and "plop" your building somewhere on the site. Move it into position, align/rotate it and raise it to the ideal ground floor elevation (literally move it up/down in a section or elevation view). Once the building is where you believe it should go you can define the important site information to share with everyone else. Contrary to typical convention don't bother with Publish Coordinates. More on this in a bit, hang in there.
Let's pause, back up and insert some stuff between the building model and the site model coming into being, before you get reliable site information (or faking it).
Let's assume you decide to hire a structural engineer (and MEP) and they use Revit too. You send them a copy of your model (remember, before any notion of real site position information). They import your model Auto-Origin to Origin. The reason for this is that the extent of your model is likely to be different than the extent of their template. Using Auto-Center to Center will not guarantee that your origin and their origin are at the same place. You want the Project Base Point (Revit's project origin) to be the same in both files. The MEP consultant does the same. The engineers match up their levels and grids to yours using Copy/Monitor (most likely...or probably should).
At this point everybody has models that are at the same location from one Revit file to another. Importing any file into another will end up at the same spot in each other's file. If you never deal with site you are all good to go.
If we assume that you and the engineers have traded files a few times we can reconcile the site conditions when they become available. When a real survey exists (or even a fake, good enough for now one does) you add it to the site master file and use it to define (as described earlier) the actual coordinates so the master site model and the civil information are in sync. Assuming you have to adjust the building you do it here, in the Site Master file. Move it, align/rotate and raise/lower it but as I mentioned before, DON'T bother using Publish Coordinates.
When you are passing models back and forth the process (FTP/Uploading/Downloading) of publishing coordinates breaks down if/when your architecture model has to be moved on the site. The relationship between the site and your model is easy. Not so easy for the other models and your model to say in sync. The goal should be to keep the project origin intact between files. Instead of Publish Coordinates, we will use the Specify Coordinates at Point tool to tell each project file what the site information is. This is done by determining what the necessary information is in the Site Master file and passing it along to each team/model. It's a simple list: East/West & North/South Coordinate for a established location like Grid intersection A1, Elevation at that location and the building Rotation relative to East or West. It looks like this when you've got it entered into a building/structure/mep model.

You extract this information from the Site Master file by using the Report Shared Coordinates tool at Grid Intersection A1 (or something agreed upon). This gives you the E/W and N/S coordinates and the Elevation. Rotation is determined by finding the angle between True North and the Grid (or something) that represents Project North.
As mentioned above, you don't actually publish coordinates or acquire them. You use Specify Coordinates at Point in each model to tell Revit what the real world coordinates are at that point (Grid A1), what the elevation of the project is and what the rotation of the project is. As soon as you enter the information Revit "adjusts" the project but it never really moves. All the project views are intact. The only time that major changes are required by everyone are when the model itself is redesigned to different angles or shapes. It's hard to avoid that kind of rework. Repositioning the building on the site however is updated with much less trouble or downstream heartache.
You just repeat those steps if the site conditions or something forces a change and pass the new coordinates, elevation and rotation information along to the engineers. They use Specify Coordinates at Point, enter the data...back in sync. If they don't update the information the models still stay in sync between Revit files. The failure to do so only becomes apparent when the model is exported to Navisworks or a cad file for Civil to use.
In a flow chart the concept looks like this.
The coordinate data in the dashed boxes could be as simple as four lines in an email, like this:
The new project coordinate information is a follows
- E/W Bearing: 1,500,000
- N/S Bearing: 1,250,000
- Elevation: 142'-0"
- Rotation: 25 degrees Relative to: West
If there are multiple buildings involved the process is the same except they'll each have their own unique coordinate information ultimately derived from the building model located in the Site Master file.
This is my first pass at documenting this...so if I've missed something or described it poorly...I'll be back. I'm also planning on a video capture or two...