Is there an ergonomic way of initializing a struct in this situation?

There is an RFC for this feature, but I don't believe it's been implemented yet. For details, see:

Also, I don't know if the partial_default crate is useful, but it may be worth a look.