I realize that card counting is strongly discouraged.
Are there systems in-place to prevent card-counting in online blackjack?
Online casinos use an 'infinite shoe', which would preclude any card counting, as they effectively draw random cards with a fixed probability. This means it's possible (though very very very unlikely) for all the players at the table to draw the same card (e.g. everyone gets an eight of hearts).
This is done both for ease of the game developer (fixed probabilities are easier to code than simulating multiple decks) and to prevent card counting (which is unenforceable on-line).
So, in short, card-counting is completely ineffective on-line.
Any online card game worth its salt is going to shoe in a brand new deck on every deal, every time.
No more card counting!
It depends completely on what algorithm is used for representing and dealing the cards.
A computer could simulate dozens of decks and could do a full deck shuffle after each hand.
So card counting can work, if the developer hasn't taken measures to counter it.
To flesh out my comment into an answer: unless the online casino is specifically taking steps to encourage card counting (which is highly unlikely - there are reasons for physical casinos to do this, but none for virtual casinos; see below), then it's almost certain that they won't be countable. The reason for this is the difference between shuffling online and shuffling off. Offline, a good shuffle is a very time-consuming operation: even with the latest shuffling machines, it either requires 15-30 seconds with the shoe into a mechanical shuffler or the bookkeeping of rotating between several shuffled decks; since Blackjack is such a fast-paced game, this time can really add up. Furthermore, shuffling puts a lot of wear on a deck, and so shuffling more often means that the casino is going through more decks - a relatively modest cost, but definitely a non-zero one.
By contrast, the shuffle operation for a virtual deck of cards is relatively quick (the most expensive operation is getting enough high-quality random numbers for the shuffle), and shuffling the deck each time is much easier to code than tracking dealt hands would be. Here's the comparable rough pseudocode:
do {
shuffle the deck;
deal out a set of hands;
} (forever);
for the 'shuffle each time' method, versus
do {
shuffle the deck;
while ( there are still more than half the cards left in the deck ) do {
deal out a set of hands;
}
} (forever);
to simulate a 'traditional' blackjack dealing scheme. There's not a lot of difference between the two, but the latter definitely has quite a bit more bookkeeping, and there's little upside for the casinos.
Note that it's not necessarily strictly true to say that live casinos actively discourage card-counting. They may start to lean on you if you're too good at it, but for quite a while many of the smaller non-strip casinos were actually encouraging counting just because it was net positive EV for them: they drew more gamblers who thought they could cheat the casino by counting but couldn't actually do it well/correctly, enough to make up for the small handful of gamers who could actually do it well. But this can't apply online, since an online casino can't police against gamers who use external aids (in this case, presumably software) to do accurate counting in the same way that a live casino can, so the percentage of 'skilled' vs. 'bad' counters is much much higher.