This is a kind of dilemma that most of the trainers experienced.
Keeping it for one special Pok?mon that you like. Apparently, as
generations of Pok?mon keep on advancing and changing, we
end up having trouble to find reason to use our Masterball.
I started playing Pok?mon again April this year (the last version I
played was Pok?mon Crystal from Gameboy Pocket, a decade ago)
But to make the story short, I've traded all of my Legendaries
for Masterballs and use them to reclaim all the Mascot Legendaries
of all Generations using those Masterballs. IMO they all deserve it.
The rest of the Legendaries (as well as my fave Pok?mons) were
caught using Luxury Ball.
I was so motivated and ended up buying all the 4 6thGen Games
to make those Pok?mons carry my OT name and used the appropriate
Pok?ball for them.
Anyway, IMO it's up to the trainer when and how to use it. Doesn't
matter the reason behind other people's action why they choose
not to use it or use it. If you don't feel regret using it and satisfied with
what you have accomplished, then thats that.
Sadly, you can't transfer items from 6th gens to 7th gens so the only
option you have is either buy both games or avail Pok?bank (Pok?bank
is a kist if you are planning to transfer your Pok?s from older gen to 7th)
and delete your save and play start from scratch to havest Masterball.