Photos in real-estate listings typically present a distorted reality by using an overly wide field of view. What digital post-processing methods are suitable for correcting for this?
Depends on what you mean by "correcting this". A wide angle lens captures a spherical sector of the world and maps it onto a flat plane. This is called a projection mapping. This is very similar to projections of the globe onto a lfat map, such as the common Mercator projection. So, assuming you want to see even just half of the globe, how to you "reproject" the globe onto a flat plane, and maintain real-world distances, angles, and areas (to scale, of course) in the "fixed" map? You can't. It fundamentally is not possible.
Such is the same with wide angle fields of view in cameras. You can change the projection mapping, but realize that all projection mappings are compromises between keeping straight lines straight, or maintaining relative angles, etc. Simply: the wider the angle of view of the lens, the more projection distortions you'll have to accept at the edges and corners.
I have fiddled with the "perspective" transformation of Gimp, but that simply allows you to apply an affine transformation to the 2-D pixel array—the results are not convincing.
You are correct that Gimp's perspective transformation is basically just an affine transformation. Your use-case is the wrong application of that function. Perspective control transformation does the same thing that keystone correction does on projectors. Perspective transformation is the post-processing fix to a problem that could also have been solved in-camera using lens shift (with a shift-only or tilt-shift perspective-control lens). See also, How do I prevent / fix out of square images?
I think the real solution would need to go deeper, using some sort of artificial intelligence to model the scene in 3D, in order to virtually change the field of view.
Not necessary. You just need to reproject the image with a different projection mapping function. Panorama Tools, which has a plugin for Gimp, can handle the reprojection.
See also: