You're never going to have a non-partisan debate. The real answer is to have two admitted partisans ask the questions -- one from the left and one from the right. Currently, all the debates simply have a liberal ask all the questions.
I also do not think Kerry had the questions before hand. He didn't need them because as someone has pointed out all the questions were tailored to him so he could have answered them in his sleep.