If you render it into a render target you aren't really solving the problem. You are spending a lot of time simply reducing the problem. The distortion gets worse as you move to the side of the screen. That means the only place on the entire screen that would not have this error would be the single center pixel, if it existed. Since it doesn't, literally every single one of your pixels has this problem to some degree.
This means your center circle too.
And rendering them to a separate target can't correctly handle large objects that take up the whole screen. It won't play well with your current Z buffer. I heard in '89 it got arrested for possession.
Only a pixel-perfect solution will work and it must be post-processing since triangles are always drawn with straight edges (a correct rendering of a long straight edge should curve around your view), so simply adjusting points in the vertex shader will not work.
A pixel-perfect solution will usually have tons of artifacts, and in order to pull in the edges and corners of the screen correctly you must over-draw the scene onto a larger texture. A lot of work and a performance hit just to get a result that you will likely discard and then return to the standard way of rendering.
L. Spiro