Hola lozanoguido!
Para mi la mejor opción es la de, con un solo formulario editar los datos del usuario y subir la imagen al servidor armando un nombre único a dicha imagen. Sin crear campo "avatar". Por ejemplo, el nombre puede estar formado con el ID+[usuario_del_mail]. Si el mail es
[email protected] y el ID de ese usuario en la tabla es 452, el nombre de la imagen podría ser: 452_juanperez88.jpg
De hecho, al momento de subir la imagen, podes hacer una función que haga distintos cortes (crop) de la imagen para distintos usos y podes armar los distintos nombres asi: 452_juanperez88_small.jpg, 452_juanperez88_medium.jpg y 452_juanperez88_large.jpg, por ejemplo...
Saludos!