In case you are wondering why it's so hard to catch them (I actually included this in one of my Trivias), due to a glitch in the original Ruby/Sapphire, the Beldum family did not have any catch rate assigned to it, so the game deliberately used the closest Catch Rate value, which ended up being the legendaries catch rate (4, the lowest).
I usually use spore and False Swipe, then a few Ultra Balls and maybe two Timer Balls.