I've long been a proponent of something like this. Essentially breaking a tournament up into 2 stages. 1st stage being 'pool play' where you break the group into 2, 4, 8 or 16* subgroups and each subgroup plays a round robin. The 2nd stage could either be knockout or another round robin, with the top players from each group advancing to the this stage. The double round robin would be almost like the Swiss system you suggest with 2 rounds of games.
For example 16 players get divided into 4 groups of 4. The winners of those 4 groups then form a new round robin group. You can also form groups from all the 2nd's, 3rd's etc, as that would make it a more true Swiss since everyone competes until the end even if they are no longer in title contention.
*Factor of 2 important if 2nd stage is knockout, but for a 2nd round robin it isn't as vital.
You can kind of do this manually through multiple tournaments where you create several round robins and then have the top players in each advance to another round robin...but there is no good way to organize it...as not enough people use the forums to organize that way and if you don't make the 1st stage invite only people will join more than 1 of the initial round robins.
I'm still hopeful something like this will be coming in the future