The Commission on Presidential Debates pick them, which is dominated by both parties, donators, and private interest groups.
Historically speaking, Republicans never do well in debates because they usually try to tell the truth. I honestly think they should abstain from debating if they want to clinch an election. A debate is never in a Republican candidate's favor. The reason they do badly is because they are trying to win over undecided voters, while trying to keep their target support base of racists and religious fanatics. It's very difficult to walk that tightrope without coming across as a villain to ordinary people who have not decided yet. While a Democrat is happy to lie and make impossible promises to the poor and middle class, Republicans honestly make it clear that they are here to cut regulations and social programs and to support corporations and the independently wealthy. They talk of war, increased law enforcement, anti-gay, and anti-abortion issues to keep their voter base happy. To the average viewer, he comes across as the villain that he is. But at least he is honest. A Democrat is happy to lie and say he does not believe in war or benefits for the rich; so he wins the debate everytime. A trick of Democrats is to target the Upper-Middle Class, labeling that group as "rich".