How are you doing it at the moment I wonder?
Whenever I want to do something like this, I just set the object center to be at the center of rotation i.e the atoms nucleus, create a visual Rot keyframe on frame1 then advance forward about 50 or so and place another keyframe for visual Rot. I then select the IPO curve, tab into it to edit, select the 2nd vertex, then hit N to bing up the transformation dialog. I just set in Ymax & VertexY to 36.0 and I’m done. My object will now rotate 360 degrees around a central point in the number of frames I want. I suppose it takes me something like 30 seconds to create the object and have it rotate around a central point.
I suppose you could do this in python fairly rapidly. There’s a script somewhere in the python section that I wrote for importing camera tracking data from BouJou4. Perhaps this will have the information in it that you need for accessing objects and setting their IPO curves.
I’d imagine you’d use an empty as the center i.e Center_1, Center_2, etc then use object names that identified them as belonging to this center_point. i.e Electron1_c1, Electron2_c1, Electron1_c2, Electron2_c2.
In this way, you could setup the whole scene, run the python script and be done with it. Of course when you start getting into arbitrary axis of rotation(not just on X, Y or Z) and or variable speeds of rotation, this script will get a little more complex, though it shouldn’t be too bad, I suppose.