Официальные темы wordpress имеют одинаковую структуру? Как создать совместимую?
Не нужен Вам underscores! Можно конечно скачать, посмотреть структуру, но не более.
Ваша проблема в том, что используются произвольные поля, а в других темах не сделан их вывод, т.е. в базе они есть, а вывода нет.
Поэтому тут вопрос именно в этом, хотите чтобы в любой теме работало, не используйте произвольные поля! Если нужно использовать произвольные поля, то делайте плагин который с ними будет работать, таким образом php-код будет не в functions.php, а в плагине. И какую бы тему Вы не выбрали это будет работать. Но шаблон ИМХО все равно надо будет править.
Если я построю тему на основе этой заготовки она будет работать на других темах?
Вопрос не понятен от слова "совсем". Как может "работать" отключенная тема??Как правильно делать тему чтобы ее можно было потом сменить на другую? 
Любую тему можно в любой момент сменить на другую.
А правильно делать так: выкинуть из головы этот велосипедно-костыльный бред и подобрать тему из оф. каталога