I have an idea about how software can easily generate footprints from a image
You need to implement an image processing algorithm that can identify lines, the user will import an image taken from a datasheet of a component
EAGLE should take these lines, and ask the user for some scaling parameter, such as asking for the distance between any two parallel lines, once this value is known, all other dimensions should be easily calculated
Now all these lines should be placed into one arbitary layer with 0 thickness
The user now has to go through the list of lines and make decisions about them:
decide to delete the lines if they want, such as center lines, dimension lines, stuff like that
outlines can be transformed to tPlace layer with a finite thickness
enclosed areas can become copper areas and thus become pads
holes can be placed on all + shaped crossings and the user decide to delete them later
if this kind of feature is implemented, then the user can define a footprint with minimal numerical input