Я думаю, что вы на правильном пути с идеей Reflection.
Поскольку у вас, вероятно, в любом случае есть оболочка для операций XML, вы можете взять целевой объект, выполнить десериализацию обычно в новый объект, а затем сделать что-то похожее на клонирование, скопировав по одному только свойства, хранящие значения по умолчанию.
Это не должно быть таким сложным для реализации, и это будет выглядеть для потребителей из остальной части вашего приложения, как десериализация на месте.