Well, this is also a game, so biology doesn't actually apply. It really is all based on number variables, which means that just because you have two shinies and breed them doesn't necessarily mean that you'll end up with a shiny Pokemon. Likewise, breeding two normal Pokemon might actually produce a shiny. Y'see, every wild Pokemon encounter comes with a certain set of odds that determines whether or not it's a shiny. (The specific odds are about 1 in 8192, although I can't remember if it's less than that for breeding in GSC.) That means you've got a 1 in 8192 chance of having any Pokemon you encounter (including possibly hatchlings, although again, I'll need to verify whether or not the odds are less for breeding) being shiny.
Now, if you want to consider IVs (the actual determinants of shininess in GSC) to be genes, then okay, I get where you're coming from. If not, then yes, it's IVs that determine shininess. A shiny Pokemon needs to have all of its stats except Attack have IVs of 10 and an Attack IV of 2, 3, 6, 7, 10, 11, 14, or 15. Since IVs are completely random for every Pokemon in the GSC generation of games, luck ends up being a pretty big part of it.
Edit: So, yeah, verifying Loquacity here. XD