Please clarify. Do you want one command to generate all of the image at each size: 580, 250,100 and center 64 from 100? Or do you want one command to generate only one of the above sizes? Also do you want the image resized separate from the thumbnails and if so at what size?
The former can be done (assuming you want a square image even if distorted) by:
convert image.png \
\( -clone 0 -thumbnail 580x580! -write image580.png +delete \) \
\( -clone 0 -thumbnail 250x250! -write image250.png +delete \) \
\( -clone 0 -thumbnail 100x100! -write image100.png \) \
+clone -delete 0-1 -gravity center -crop 64x64+0+0 image64.png
I don't know about doing it while uploading (probably need to save it as a temporary) nor performance with multiple people running it.
I don't know if this will help with efficiency but you might want to look at:
http://www.imagemagick.org/Usage/files/#massive
The other thing to consider is to put your image into a memory mapped format when you upload it. See: mpr and mpc formats
http://www.imagemagick.org/Usage/files/#mpr
http://www.imagemagick.org/Usage/files/#mpc
So this may be faster (you would have to do some time tests, although my tests seem to show the above is slightly faster)
convert image.png -write mpr:image +delete \
\( mpr:image -thumbnail 580x580! -write image580.png \) \
\( mpr:image -thumbnail 250x250! -write image250.png \) \
\( mpr:image -thumbnail 100x100! -write image100.png \) \
+clone -delete 0-2 -gravity center -crop 64x64+0+0 image64.png