I think you have run into a limitation that cannot be overcome.
One thing to consider is to use a N:N 'join entity' instead of the built in N:N relationship.
Basically create a custom entity with a N:1 lookup to each of the entities you are trying to join.
Example:
New Custom Entity: AccountContact
Field1 - Lookup N:1 to Account
Field2 - Lookup N:1 to Contact
Then on either Account or Contact, you can use a sub-grid to show the other through the new custom entity.