MathOverflow will be down for maintenance for approximately 3 hours, starting Monday evening (06/24/2013) at approximately 9:00 PM Eastern time (UTC-4).

Here is are just a slightly better realization couple of the same ideaideas (too long to fit a comment window). Let $R_i$ and $B_i$ be the red and the blue degrees of the $i$-th vertex. Take your graph and remove all vertices with $B_i\le MR_i+M$. Take the remaining subgraph and remove all vertices with $B_i\le MR_i+M$ (using the counts in the remaining subgraph, of course), and so on. No matter how many times we go, we remove at most $O(Mn)$ blue edges. But we cannot stop if $M$ is large: if If we stop, we have a graph in which each blue degree is at least $M$ times the corresponding red degree plus $M$.
Now arrange the vertices in random order and run the greedy algorithm to select the maximal red-independent set as the set of all vertices that preceede all their neighbors in the ordering. Each vertex $i$ will survive with probability $(R_i+1)^{-1}$ (it should be considered before its neighbors). (R_i+1)^{-1}$. Moreover, if$(i,j)$is not a red edge, then the probability that both$i,j$survive is at least$\frac12(R_i+1)^{-1}(R_j+1)^{-1}$. This puts the expected number of surviving blue edges at the vertex$i$at$M/2$times$\frac 12\sum_{(i,j)\in E_{\text{blue}}}(R_i+1)^{-1}(R_j+1)^{-1} and the sum expectation of inverse red degrees plus one over its blue neighbours and, then, summing once more, the total surviving number of the blue edges in vertices at $M^2n/2$, which is a bit too \sum_{i}(R_i+1)^{-1}$. If all degrees are bounded by$K$, then we, clearly, have what we want with much . Hope I haven't said anything stupidbetter bound than$4^K\$. Unfortunately, if the degrees are unbounded, we still have a problem.