I have seen an implementation in which you can use two or more chained resample plugins. The plugin has two custom versions. In one version you can specify the sample rates that are not resampled and in the other plugin version you can set specify the sample rates that will be resampled (other sample rates will be passed through).
For example:
1st plugin: resample to 48, except 44.1, 88.2, 96, 176,4 and 192 => will preserve 44.1 and 88.2-192
2nd plugin: resample to 96, but only 88.2, 176,4 and 192 => will preserve anything up to 48 and resample 88.2-192
This works fine, but it may be difficult to understand correctly.
Perhaps the following matrix would be easy enough and provide every possibly useful combination:
Input: -44100 Hz Output: [ no change, 44100, 48000, 88200, 96000, 176400, 192000 ]
Input: 44101-48000 Hz Output: [ the same as above, 48000, 88200, 96000, 176400, 192000 ]
Input: 48001-88200 Hz Output: [ the same as above, 88200, 96000, 176400, 192000 ]
Input: 88201-96000 Hz Output: [ the same as above, 96000, 176400, 192000 ]
Input: 96001- Hz Output: [ the same as above, 176400, 192000 ]
I.e, it would have five lines. Each line would have its own drop-down menu. The drop-down menu options are inside the brackets. Bold means the default option.
This would make possible to simply set one output sample rate that would apply to everything (by using only the first drop-down menu)
and, if preferred, to create a more complex setup -- for example:
below 44.1 => 44.1 (cross-fade will work correctly when an occasional lower sample rate file is played with standard 44.1 audio files)
44.1 => preserve
48 => preserve
88.2 => 96
96 => preserve
176.4 => 192
192 => preserve
EDIT
By default it could show only the standard options in the first line (without a displayed input frequency range) and the other four lines & drop-down menus could show up/be available when an advanced mode is selected.