You've got the idea, but the implementation isn't good. It won't work with gb Ethernet, which uses all 4 pairs. The switches (or even jumpers) will present a bump in impedance, so it's likely to cause errors, especially at 100 mb and long runs.
Just get a crossover cable and use that when needed. Better yet, get a switch with auto MDI/MDI-X, so you don't have to worry about it.