Another factor to the downfall of TV scifi is piracy. The majority audience of sci-fi are those that are technology literate, this means they are aware of the ways/means to obtain the latest episodes as soon as they air (not to avoid cost but to avoid the lengthy wait for their region plus the added bonus of lack of adverts). This in turn drops TV viewing figures and advertisement revenue that becomes overshadowed by what’s brought in by the cheap reality TV shows.
I'd disagree personally, that's only going to account for a small fraction of the viewing base.
What's affecting it, like you've said yourself, is the advertising revenue that the networks make back from buying/producing a series. One of the main causes is diversity because of the large number of television channels since the digital age.
When I was younger, I remember that if you wanted to watch Sci-Fi on Television, you could watch a little bit on terrestrial TV, such as Star Trek the Next Generation on BBC2. However, if you really wanted to watch it properly, you needed Sky 1, so you could watch Star Trek everyday, along with the likes of the X-Files and the numerous other shows that Sky 1 had... things like Earth2, Stargate etc...
These days though, Sky1 doesn't show as much Sci-Fi as it used to do, instead you've got dozens of Channels, many of which aren't BSKYB and so they all bid for shows separately to show on their channel. Many of these have a very small viewer bases. This is the same in the US which is the driving market. So for a show to be shown on a major network, it needs to be slick enough to attract a large audience. Lesser shows end up on smaller channels, or perhaps don't get produced at all, compared to how they may have done in the past.
I think before digital tv, people marvelled at the idea of having channels dedicated to what they loved... the reality is shows aren't getting watched as much and it's just tons of repeats.
I can't be the only one who owns Sky and realises that I've got hundreds of channels of stuff I don't watch.