There will be no simple algorithm (like the
cyclic one here), but some schedules you will be able to make by slicing the full schedule, for example the 8 player round-robin could be sliced in to two halves and then played over 14 rounds rather than 7 - this would give 4 byes per round. In general there is a good chance that the number of venues available does not divide the number of possible games in the round-robin, in which case some rounds will have more games than others, so you would need to specify where the empty slots are before designing an algorithm to place the matches into the schedule.