Luck it is. The chances of an event with probability P *not* ocurring in N number of trials is:
(1-P)^N
So if there is a 25% chance of an event ocurring, and you did 4 trials there would still be a 31.64% chance of it not ocurring. It's important to realise that there is never a 100% chance of a truly random event ocurring no matter how many trials you perform.
8000 battles will by no means guarantee a shiny. 16000 would make the odds much sweeter, but still leave about a 13% chance of no shinys. If you manage 100 battles an hour, you'd average one shiny per 80 hours or so, perhaps one every few months for a dedicated player. Running away can speed up this sort of search as can turing off battle animations and /or using pokémon with less message generation (no leftovers or intimidate for example)
All this assumes the odds are as reported. It *is* possible that the game generates the chance of a shiny differently, though from the numbers reported 1/8000 seems about right. I have seen 3 wild shinys in 850 or so hours play, but have spent a lot of time in battle tower (where I saw one) contests (which suck up time) and trainer battles (whose pokemon's stats do not change from battle to battle).