Chaining is the best way to get yourself a legit shiny Pokemon. If you try it, try some easy targets first, such as common Pokemon, or Electric types with your leading Pokemon having Static (ups the chance of electric types appearing)
Chaining/using the Pokeradar - a simple Google search will lead you to some guides, showing you how to do so. Key things you need are LOTS of repels, killing Poke with decent PP for moves, Pokeballs of some kind or another, Catching poke for the harder-to-catch ones (status effects, false swipe, Shadow Tag/Arena trap for running-way pokes), and patience.
Otherwise - it's random luck. Every Pokemon (bar maybe some events or that) have a 1 in 8182 chance of being shiny to be exact in 2nd gen and up games - including legendaries and Shadow Pokemon. So finding a shiny requires some luck. For me, I've encountered a shiny Pidgey and Sentret in Silver, shiny Zubat and Exeggcute in 3rd gen games, and shiny Tentacool in Diamond through sheer luck, which is pretty lucky I guess. Done a fair bit of chaining as well.
Execptions to the 1 in 8182 - the Red Gyradoes in GSC (It is always a shiny), and the 'odd egg' in Crystal had a 1 in 2 chance of being shiny.
Some people soft reset for shinies - such as legendaries - save before the battle, start battle, if not a shiny, soft reset/turn off and repeat, but one can be doing that for a long time. Some also try hatching for shinies - the only way for Pokes like Starters if you don't soft-reset at the beginning of the game. But on average, one would have to do it over 8000 times... hmm.
So chaining is your best, legit bet.