Data Deplucation and relationship integrity
There's no real hard rules when it comes to data cleanup/deduplication as it usually depends on these factors:

The quality of your dataset(s)

You don't mention quality being an issue so I won't say any more on this but usually matching data from different systems can be the biggest hurdle to tackle. e.g. David in one system might be Dave in another.

What the business needs

You already have a list of requirements and that's guided you so far. Now you've hit something that will impact the quality of the output. What would be beneficial is to sit down with the process and data owners and tell them the concerns you have with either method. It's not a solely DBA/Developer issue to solve and the other stakeholders can then be part of the solution. It help will avoid those "Why did you do that TheDemonLord! That's not what we wanted" accusations down the line when you thought you were doing the right thing but someone else disagrees! 

You can then define the logic and rules around the dedupe effort together e.g. If a person has an account in with Brands X &amp; Y then we will use the details from the most recent purchase etc...

How much effort can you devote to cleaning or transforming the data

Like any task there's a clear time/quality equation to deal with. You can easily get trapped in an ever growing list of manual fixes to have a perfect dedupe / extract process that captures all you need it to. This is another one to solve with the business. It's not your job to find every error and fix every issue. Define a process for highlighting and logging any accounts that might not fit your extract model. Then decide who fixes it, where and when.

As you first said, it is quite theoretical, and that's why the questions you uncover as you build it should be solved by everyone who is using the system.