Please, there IS a limit to "It's YOUR wedding, so do what you want!".
Honestly if you're choosing to have a church wedding then he should be respectful and remove the hat, especially during the actual ceremony.
I think in pictures it would do more to cover his face than anything else. BUT when you are taking pictures before and after the ceremony he could have some taken with and without the hat. He'll also be wearing it the entire reception by the sounds of it. Surely it won't be that bad to leave it off until then.
Also keep in mind that yes, it IS your wedding, but a main part of having one is for your guests! If he thinks many of the guests would be upset by it then why wear it? To insult half the people there to celebrate your marriage?
You have to decide just how important it is for him to wear the hat at the ceremony. Is it worth the negative repercussions? Possibly upsetting family and friends and arguably disrespecting God? Is there an alternative that would make you happy while removing the controversy altogether?
I think problems over a hat is something you just don't need to add to the overwhelming task that is planning a wedding. I would strongly suggest you find an alternative that allows him maximum hat wearing time, but that he leave it off for the ceremony.
Just a thought... maybe have the ring bearer carry it instead of a pillow, then once you're announced as Mr. and Mrs. X then the ring bearer could hand him his hat and he could put in on to make your exit (or at least carry it until he was out of the sancuary).