I would like to create a form which includes gender selection. However, I don't like classic male/female dropdowns. I would like to improve look and feel as well as user experience in a smart way. What is the most decent and neat way of getting gender of users?
If I am interpreting your question correctly, this is not a simple matter of what controls to use, but rather what options to provide your users and how to allow for these options.
One must first ask if gender is a required field at all. But if it is, your best bet and one that has been occasionally adopted to much praise from the community, is also the simplest.
A plain text field. Or if you want to still keep the radio buttons for the most common choices, use radio buttons for male, female, and finally an additional option that enables a plain text field. This allows users to define gender for themselves, any other form of selection is going to alienate someone.
In order to keep your stats happy, do some flexible text matching to group users into male, female, and other groups. Just occasionally scan the groups to see if their are any incorrect categorisations, and adjust the algorithms accordingly.
Gender is an issue for more people than you would think that are either transgender or simply feel that asking for it is inappropriate. I would suggest that you include 3 options. Male, Female, Rather not say.
Then you didn't mention whether this was for a web form or a mobile form. For a website I would use radio buttons. For a mobile form I would use selector buttons