Randomness of the drop rate is better IMO. That is if they can get it right though, instead of constantly messing up on these events.
Maybe make it something like it is all still random, but if someone opens a certain amount of boxes between two bars they are guaranteed to get the part. Something like the first part is guaranteed after 3 opens. Second part is guaranteed at 5 opens after the first bar was obtained (8 opens total), etc. However, with luck someone could still get the first part on first open and the second part on the second open. So there is still a certain amount of luck involved, but the gold players don't end up spending thousands of gold without a result.
Basically your set value idea with the luck factor only being able to be positive.
The guaranteed amount of opens for all 10 parts would be pretty much impossible for free players, so that's where the luck factor comes in that could advance them to the next part quicker.