The following outlines one possible path to a solution (untested!).
Download my
Excel round-robin generator and use the "Home-Away" feature to generate schedules for 5 teams. Within each division take one schedule, and add its complement where all home matches have been swapped with away matches, and vice-versa. Repeat this with another randomization of the basic schedule to give 4 games against everyone else within a division in 20 rounds. Now it should be possible to rearrange the order of the rounds within each division such that the pairs of byes from the 20 rounds correspond to 20 out of the 25 different pairings of teams from the two different divisions. Note you have to be careful that the 5 remaining extra-divisional pairings can all be played in a single round. Finally you need to add in 5 more rounds of extra-divisional play, for which you could use the following schedule.
(A1 B1) (A2 B2) (A3 B3) (A4 B4) (A5 B5)
(A2 B3) (A3 B4) (A4 B5) (A5 B1) (A1 B2)
(A3 B5) (A4 B1) (A5 B2) (A1 B3) (A2 B4)
(A4 B2) (A5 B3) (A1 B4) (A2 B5) (A3 B1)
(A5 B4) (A1 B5) (A2 B1) (A3 B2) (A4 B3)
Above if every A division team plays at home and every B division team plays away then you assign the opposite venues for the same pairings in first 21 rounds. You may want to mix the home/away assignments up a bit, but the same principle applies, whatever venues you assign to the table above, just assign the opposite to the other pairing.