The "usual workaround" is "don't use SDL." If your tool doesn't support it, your tool doesn't support it, and that's that.
Your suggested workaround to render to an internal sRGB image is... not as useful as you think.
Will it work? Yes, in the sense that you will get images who's colors are properly gamma correct (though not because of enabling or disabling GL_FRAMEBUFFER_SRGB
). However, you will get some degrading of image quality, because the non-linear 24-bit sRGB colorspace does not convert well to a linear 24-bit linearRGB colorspace. You'll lose some color definition.
The point of being able to present an sRGB image directly is to avoid that conversion and the resulting loss of color definition.
Whether you can live with those artifacts is up to you. I'd just as soon avoid using SDL, or hacking SDL to let you do what you need to.