Thinking a bit further, for a file of length l, the probability getting a file that can be compressed is smaller than
\sum_{k=1}^{l-1} 2^{-k} [1]
which approaches 1 for l against infinity. ( So just based on the upper limit, your odds seem to get better for longer programs. :)
[1]rendered formula for the equation (hope this works): http://latex.codecogs.com/gif.latex?\sum_{k=0}^{l-1}%202^{-k...
IF you could write an algorithm that would compress a specific block of random data by any non-zero percentage, and IF you can make the original random data arbitrarily large, THEN the overall size of the code to implement this algorithm would not matter, because you could amortize it over an arbitrarily large random data file.
However I am not claiming that such an algorithm to compress a specific block of random data exists! However other people are arguing that this is indeed theoretically possible: http://news.ycombinator.com/item?id=5025527
There are always redundancies in random data. If you can pick them out ahead of time with a custom algorithm it's certainly possible to "compress" it.
Edit: I think I may be wrong here.