I agree 110% with the other posters: don’t let hair color determine the name you pick!
My son was born with stick-straight nearly-black hair and deep blue eyes and now has blonde curls and medium blue/green eyes. As he gets older his hair will most likely turn dark again (just how it usually works with our Scandinavian heritage).
Besides, there is nothing wrong with an Italian name on a red-headed girl! I actually know several red-headed Italians!
Here’s my pick out of your names:
[name]Alessia[/name]-- definitely the best of your Italian names. Less popular than [name]Sophia[/name] and the like, but still beautiful!
Some other names with Italian flair:
[name]Adelina[/name]
[name]Alessandra[/name]
[name]Allegra[/name]
[name]Angelina[/name]
[name]Antonia[/name]
Caramia
[name]Chiara[/name]
[name]Cosima[/name]
[name]Elettra[/name]
[name]Eliana[/name]
[name]Elisabetta[/name]
[name]Emilia[/name]
[name]Emiliana[/name]
[name]Fiammetta[/name]/[name]Fiamma[/name]
[name]Fiorella[/name]
[name]Francesca[/name]
[name]Gia[/name]
[name]Giada[/name]
[name]Gianna[/name]
[name]Gianetta[/name]
[name]Giulia[/name]
[name]Grazia[/name]
[name]Isadora[/name]
[name]Lucia[/name]
[name]Marietta[/name]
[name]Mia[/name]
[name]Minna[/name]
[name]Mirabella[/name]
[name]Nina[/name]
[name]Oriana[/name]
[name]Pietra[/name]
[name]Rachelle[/name]
[name]Renata[/name]
[name]Rosa[/name]
Rosettla
[name]Serafina[/name]
[name]Tullia[/name]
[name]Vanessa[/name]
[name]Viola[/name]
[name]Violetta[/name]
[name]Vittoria[/name]
[name]Viviana[/name]
[name]Just[/name] a thought on a boy: would your husband consider using a different means of honoring himself?
You could give your son an international variation of his name ([name]John[/name]= [name]Sean[/name], [name]Johan[/name], [name]Jones[/name], [name]Johnson[/name], [name]Jack[/name], [name]Gianni[/name], etc.).
You could also give him a name that starts with the same initial or give your son his father’s first name as a middle name (that’s the common thing to do in my area).
In my husband’s family they pass on a name that starts with the same initial and the same middle name.
Ex: S. [name]James[/name]. [name]Samuel[/name] [name]James[/name] father to [name]Simon[/name] [name]James[/name], father to [name]Sean[/name] [name]James[/name], etc. That way you can still be considered a junior in some ways (S. [name]James[/name] II, S. [name]James[/name] III, etc.).
There are so many ways to honor a father without having to make Juniors!