Getting the perfect legendary pokemon without pokegenning is not exactly easy. Yes, if you don't pokegen it, you'll have to soft reset until you get your perfect legendary. Luckily, this monotony is slightly mitigated by the fact that every legendary in ORAS and X/Y are guaranteed to have 3 random perfect IV's. So here's the process I find most helpful, given that you have Master Balls to spare.
1) Determine the Nature you want your Legendary to have, and then put a Pokemon with both that Nature and the Ability Synchronize at the front of your party, so that there's a 50% chance the Nature will be passed down to the Legendary via Synchronize's outside of battle effect,
2) Go to the legendary you want to catch, with one slot in your party open so that you can immediately check it. Don't forget to have your Synchronize pokemon in the front.
3) Start the battle and use the Master Ball.
4) Check the Legendary for its Nature. If Synchronize failed to pass it down, soft reset and try again.
5) If it does have the right Nature, then check its stats. Use this spreadsheet, it tells you the stats that a pokemon should have based on Nature and whether it has perfect IV's.
https://docs.google.com/spreadsheets/d/1...li=1#gid=0
6) Basically just keep trying till you get it.
Something to keep in mind, though, is that 30 and 31 IVs reach the same number for a stat at level 50 as long as no EV's were invested into the stat. For example, Heatran is found at level 50, and I was only going to invest in HP, Sp. Atk, and Speed, which is what I got my 3 perfect IV's in. Sp.Def and Def had IV's of 30, but gave the same stat number as they would if they had 31 IV's, as I didn't invest any EV's into them. Therefore, I didn't need to keep soft resetting for better IV's.
Good luck, and happy capturing!