Hayden Christensen's performance in the prequels was below subpar. It was simply dreadful.
Just his acting is enough to condemn his casting but since we're now discussing looks.
They should have cast someone that looked like a young Sebastian Shaw. Which means he should have had dark hair like Leia which would have left Padme with blonde hair.
But that error can be traced back to their casting during TPM when they were comparing child headshots to publicity photos of Hamill as Luke.