Hi Cindi,
This problem can be solved by adapting the spouse avoiding
schedule here. Take the 1st 7 rounds, ignore the distinction between 'H' and 'W', and treat H1 to H8 & W1 to W8 as 16 different players, then you will have a schedule where all players have 7 different partners and 14 different opponents. Ignore the 8th round in the post I linked to, instead add the following as the extra round:
(H1 H2 v W1 W2) (H3 H4 v W3 W4) (H5 H6 v W5 W6) (H7 H8 v W7 W8)
All the 8 partnerships in the round above must be new (as previously 'H' has never partnered 'H', or 'W' partnered 'W'). The round above also covers the 8 opposition pairs previously avoided (H1 v W1), (H2 v W2),...,(H8 v W8). So the repeated opponents that you are expecting will be (H1 v W2), (H2 v W1), (H3 v W4), etc...
Hope that helps.