Custom (Many to Many) relationships with roles
Add a custom field for relationship between records, possibly a many-to-many field. Cases, projects, opportunities... are related to project networks (people other than the owner of the case), suppliers, advisors, etc.
For example, I need to track construction projects (my lead) and involved parties: owner(s), engineer(s), prime contractor(s), operator(s), project management, legal... A contractor can be a prime contractor with one project and a subcontractor in another.
An attorney may need to track third parties, adverse parties, joined parties, other beneficiaries... as well as the business relationship and subsidiaries of his clients for conflict checks...