I’ll improve shortly on my above comment: If a compression algorithm is fixed, an arbitrary large non-compressible (with this algorithm) piece of data can be obtained just by iterating the algorithm. If a cycle appear before hitting the desired size, pick some starting point out of this cycle, and try again.
$\def\N\{\mathbb N^*}$Details. Considering that data are strings of 0 and 1, a file is (after prefixing it with a 1) nothing more than a (non zero) integer. The length of a file $n\in \N*$ is $\log(n)$. A compression algorithm is an injective function from $\N$ to $\N$ (it has to be injective to ensure decompression is possible).
We say that $n$ is non-compressible if $\log(n) < \log(f(n))$.
I will distinct two cases (not absolutely necessary bit the first case is nicer) First, assume $f$ is non surjective and you know some $n \notin f(\N)$ (this is quite reasonable for practical examples). As $f$ is injective, if the orbit $f^{(k)}(n)$ is ultimately cyclic, it has to go through $n$ again. As $n \notin f(\N)$, this is impossible: so the orbit is not ultimately cyclic, and it has to go through arbitrary big numbers. More precisely, the length of the successive numbers have two increase from time to time, so this sequence contains an infinite amount of non-compressible numbers. Some have to be larger than the prescribed size.
In the general case, well, pick up a number $n$, and iterate. If you meet a non-compressible number of the desired size before hitting $n$ again, you are done. In the other case, pick up a starting point out of the cycle, and try again. You iterate this, each time excluding all the cycles previously described. The sequence generated also contains an infinite amount of non-compressible numbers.