It depends a little, on how exactly you interpret the "will have" in the English sentence.
In numerous languages, future tense is often used to express modality/possibility. Here is an example in English and German:
Since there is absolutely no indication neither for time or mode, either reading is possible (at least to me).
Technically your translation is fine and can work as a translation for either version. However, it is rather long and complex so people would avoid it if possible. If future perfect is the time you need then there is no way around what you've suggested. But if the modal reading is the one you need then I think this is preferable:
Diese Frage ist wahrscheinlich schon oft gestellt worden.