Subdividing has warped my mesh. Is there a way to clean up this mesh after adding other modifiers?
No sure it's adequate in your case, but I'd go in Sclupt mode, select any brush (the standard inflate/deflate will do), set its strength to 0 so that the shape isn't changed, but turn Autosmooth to 0.1 or something like that.

You will then be able to smooth the geometry with the brush just where needed, without touching anything else.