When converting less than 8-bits-per-channel colours to 8-bits-per-channel I can see three possibilities.
eg. 2-bit to 8-bit:
Lower range
0 -> 0
1 -> 63
2 -> 127
3 -> 191
Upper range
0 -> 63
1 -> 127
2 -> 191
3 -> 255
Stretched range
0 -> 0
1 -> 85
2 -> 170
3 -> 255
Lower and upper can benefit from bit-shifting, but lose much of the colour range.
Stretched maintains the colour range but can't take advantage of bit-shifting.
Is there any real reason to support options other than stretched?
Yes, if you're an emulator.SMS, Genesis, SNES used a 'clipped' color range, of the type you label 'lower range' here.
Not really that relevant if you're not an emulator though.. unless you're going for an mild oilpainting/muted effect.
Or a washed out / pastel effect (in the case of 'upper range').
You could possibly use different variants for sprites vs tiles vs cutsceneish/portrait stuff to save space / enforce aesthetics, but this strikes me as serious overoptimizing.
Are there proper names for these?
'Normalized' is the correct mathematical name for stretched. What you call 'lower range' I call 'clipped', but this is not an official term, though it is a mathematical one. 'upper range' I like to call "why would you DO that!".. kidding, I hadn't even considered the possibility of doing things that way until you posted this.