"Never tell me the odds!"
I don't think there's anything broken with the current implementation. It's just the occasionally unforgiving nature of independent random trials. But here's an alternate idea, anyway:
Instead of independent trials with probability 10% and 20%, keep track of two counters attached invisibly to every character. Initialize the 20% counter with a random number from 1 to 9 inclusive. Initialize the 10% counter with a random number from 1 to 19 inclusive. Now every time you RE a 20% item, you decrease the counter by 1. When it hits zero, you are granted a schematic and the number is re-rolled again from 1 to 9. Similar thing for the 10% counter and its 1-19 value.
Now you're guaranteed a blue schematic with no greater than 9 attempts. On average, you will get one every 5 attempts. One every 10 attempts on average for the purple. Same as it works now, but with far less possible variance.
Anyone see a problem with this? Note that it would not flood the market with items because the average
production rate of new schematics would be the same as before. It would just not allow the extreme long bad luck streaks.
Also keep in mind that if you're still going for a specific prefix when there are five available, your worst case for getting that purple schematic could still be 95 total trials. But that is, at least, guaranteed to be the absolute worst case and by then you'd also be guaranteed to have all five of those purple schematics (besides which, the odds against actually having this happen would be about 2.5 million to 1... why did I just hear that in C3PO's voice?