Put conditions on questions and sections so they appear only when earlier answers make them relevant. A long questionnaire then behaves like a short one for each respondent, and the data comes back without meaningless answers to inapplicable questions.
Video: Adding Conditionality to Surveys on YouTube
Conditionality is not just convenience. A form that asks every question of everyone produces data you cannot analyse, because a blank and a genuine "not applicable" look identical. It also lengthens interviews, which lowers quality on the questions you actually cared about. Getting the logic right is one of the highest-return things you can do to a national form before it is deployed to hundreds of enumerators.