Well, I will answer the best I can. =D
First of all, there is no ''magic'' way to ''easy'' find epic Pokemon. It is all luck
There is some thing you can do in order to help you.
You can use a Syncronize Pokemon with the nature you want to get 50% to get same nature as your sync.
This sync can have the Move Role-play, wich tell you the ability of the Pokemon you want to catch.
Kadabra have both Syncronize and Role-Play.
You can also use a False Swiper.
One with both False Swiper and Spore would help alot during catching.
Would also help save some money. Some pokeballs dosent seems much, but after 1000 hours, think about all the money you will have saved. ;)
There is the Repel Trick stuff that can make the hunt easier too.
But this is mainly a trick for rich. Unless you have many millions, i would not do that trick.
Here's the link for how to use that trick: https://pokemonrevolution.net/forum/topic/95034-url
Also dont think that you will find more epic Pokemon using that method. ;)
As I said before, it's all based on luck.
An easy way to understand how much Pokemon it take to find an epic one would be to start hunting low tier one.
Such as Magikarp in Sootopolis, Clefairy in Hoenn route 115, Marill and Azumarill Spawn ect.
After hunting a few hours by days, catching about 100-500 of each, you will know better how much luck it need to find these epic Pokemon.
I dont have anything else to propose sadly.
I hope I helped a bit.
Good game and good day! =D