Work with facts
Take census data and official data about legal given-name changes, if available
Choose bounds (how far back do you want to go? only results from living people? only results from people within a certain state?)
Return percentage results of given-names per sex [1] as specified in the official data collected above.
Return clusters of results as appropriate, e.g. by cultural regions: a given-name may be mostly a girl's name in Japan but a boy's name in Finland.
Now, it is not guessing the sex of the person based on their e-mail address, merely on the submitted names.
[1] Given names are based on the apparent sex of a baby, not its gender, until the person bearing the name actively chooses to change it. Sex & gender are not the same, despite American prudishness.