If I had to choose,
Guillaume, and yes
Gil as a nickname is fine, but I'd seriously question why anyone in an English speaking country would use either. Pretentious as hell. At least for the native-born.
This reminds me, when my son
William took French, and the kids were going to be called by the French equivalents of their names in the class, he told me that his teacher told him that there was no French equivalent of
William. I said, "What? Yes, there is.
Guillaume" and I spelled it for him. How could a French teacher think that?