Do packages have to be centered in eagle to export valid pick and place data?
Looking into the script I see

     printf("%s %5.2f %5.2f %3.0f %s %s\n",
     E.name, u2mm((xmin + xmax)/2), u2mm((ymin + ymax)/2),
     E.angle, E.value, E.package.name);


thus it must output center of component by X axis and center of component by Y axis. Further, if you look into description

#usage "&lt;b&gt;Data generation for mounting machines&lt;/b&gt;\n"
   "&lt;p&gt;"
   "Generates files for smds on the top and bottom layers "
   "wich can be used with mounting machines. "
   "The x and y coordinates (units: mm) of the SMD elements are calculated "
   "as mean of maximum and mimimum value of the smds origin points. "
   "The calculated value does not necessarily fit with the origin "
   "point of the part in the layout."
   "All SMD elements populated in currently set assembly variant are considered."
   "&lt;p&gt;"
   "The syntax of the output data looks like this:"
   "&lt;p&gt;"
   "&lt;tt&gt;name x-coord y-coord rotation value package&lt;/tt&gt;"
   "&lt;p&gt;"
   "&lt;author&gt;Author: support@cadsoft.de&lt;/author&gt;"


It actually slightly confusing, but I tried this script on one of my projects, and SMD device with origin out of its physical center was output to the placement file with physical center of the component.

Conclusion: origin position of the component does not matter. You do not need to rework your device.