I think the weighted thing is probably a bad idea, a player with 10 games is going to have 20 opponents from a pool of 23 but you are saying that 8 of those are off limits for 16 of the players. If a nice schedule can exist in this scenario, I think it would involve players 9 to 16 having more games than the rest, as they have more possible partners and opponents. I also don't like your second ideal criterion as this goes against the general mixing of partners and opponents which is something that I think you want.
I can offer the following which I think meets your essential criteria. The same groups of 8 players have byes in sequence, so the byes are as equally distributed as possible. All the partners are different and most of the opponents are different, except (5,7) and (11,15). I could make a better schedule if having consecutive byes was allowed.
( 5 3 v 15 10) (16 1 v 4 12) ( 7 9 v 6 14) ( 8 13 v 2 11)
(24 6 v 3 18) (19 4 v 23 8) ( 5 20 v 22 17) (21 7 v 1 2)
(17 14 v 21 24) ( 9 20 v 15 18) (12 22 v 19 11) (16 23 v 13 10)
( 4 11 v 9 5) ( 1 6 v 2 15) (14 13 v 8 10) (16 12 v 3 7)
( 1 4 v 17 24) ( 2 5 v 23 18) (21 20 v 3 8) ( 6 7 v 22 19)
(19 24 v 9 16) (22 15 v 23 14) (18 13 v 12 17) (20 11 v 10 21)
(13 12 v 6 4) (14 16 v 5 1) ( 8 2 v 3 9) ( 7 15 v 10 11)
( 7 4 v 21 18) (20 6 v 1 23) ( 2 3 v 19 17) (24 8 v 22 5)
(11 24 v 19 15) (17 18 v 14 10) (22 20 v 13 16) (12 9 v 23 21)
( 5 13 v 1 7) ( 6 16 v 11 8) ( 2 12 v 15 14) (10 3 v 4 9)
(20 4 v 2 7) (24 18 v 8 21) ( 5 17 v 6 19) (22 23 v 3 1)
(20 10 v 19 12) (14 24 v 23 11) (17 21 v 16 15) (22 13 v 18 9)
( 7 13 v 5 15) ( 4 3 v 14 11) ( 2 6 v 10 16) (12 1 v 8 9)
(19 3 v 1 18) (24 5 v 2 20) (23 7 v 17 8) ( 6 22 v 21 4)
(15 23 v 16 18) (11 9 v 20 17) (22 24 v 10 12) (21 14 v 13 19)