Consider things from the point of view of one "A" player, he or she is not allowed to play the other strong players, so there is a pool of only 12 duffers from which their opponents can be drawn. With three opponents per round, four rounds is sufficient for our "A" player to have played one time each with all possible opponents. In fact it is possible to arrange four rounds so that all four strong players play the 12 duffers exactly once, and that duffers never meet together in a foursome more than once.
If the strong players are A,B,C and D and the duffers are 1 to 12, then a suitable schedule is:
(A 1 5 9) (B 2 6 10) (C 3 7 11) (D 4 8 12)
(A 2 7 12) (B 1 8 11) (C 4 5 10) (D 3 6 9)
(A 3 8 10) (B 4 7 9) (C 1 6 12) (D 2 5 11)
(A 4 6 11) (B 3 5 12) (C 2 8 9) (D 1 7 10)
Essentially this is the best way to achieve the stated aim in four rounds of play, however a problem is that the only logical 5th round of play is:
(A B C D) (1 2 3 4) (5 6 7 8) (9 10 11 12)
I would reccommend this as it does mean that after 5 rounds everyone has played exactly once with everyone else. It also has an interesting bonus, if you divide your duffers up by handicap (or some other criteria) into 3 groups 1-4, 5-8, and 9-12 then the first four rounds are all mixed ability, while the fifth round has all foursomes as closely matched as possible.
If you want rounds 6 and 7 then recyle two of the first four rounds, but first randomly reassign labels to players within each group of four. This will make it unlikely that you end up repeating a foursome.
Hope that helps.