En cuanto a capturar los ficheros te recomiendo ASPUpload,
www.aspupload.com.
En cuanto a cambiarlas de tamaño yo ni siquiera las cambiaria, almacenaria su tamaño real en la bd y a partir de eso calcula el altamaño de la miniatura. El resultado de ese calculo se lo pasas a las etiquetas width y height de la <img src""...> de la miniatura.
Aun asi, si quieres mejorar la velocidad de carga de la pagina, y quieres que en primera instacia cargue archivos mas pequeños te dire que si tienes dreamweaver y fireworks instalados, dreamweaver tiene una opcion en menu commands (comandos) para crear albumes de fotos web, una vez creado el albun el te genera una miniatura en el tamaño y calidad que tu le has especificado. Es un script totalmente automatico y bastante rapido.
Ala!!! que lo disfrutes...