1 - si vas a redireccionar no puedes hacer echo antes, si te fijas en la primera parte del código tienes algunos para indicar si se subieron adecuadamente
2 - para el fondo negro yo apliqué después del imagecreatetruecolor:
en mi caso guardaba siempre en PNG, puede que imagesavealpha no aplique para JPEG
3 - el BOM puede afectar la redirección también, investigue que es BOM
4 - use al principio
error_reporting(E_ALL); para forzar la salida de todos los errores, luego quite dicha linea al resolverlos