You need to ensure that sequence of calls firing on the page are in required order. Vis ID call should be first, then target and then AA call. Target will be able to deliver the experience if it receives the segment info prior to complete page load.
If the segment qualification is being done asynchronously, then you can make an mbox update call asynchronously.
When using AAM or real time audience in people core service audience library, it is possible to do personalization on next hit / page load. Same hit / page load personalization can be done with audience created in Target directly.