My contention with your position on patents is that, although they make companies publish the recipe, while in effect, they not only keep the formulas secret in practice, but also create a monopoly, preventing reverse engineering altogether. If you cut the duration of patents, the incentives of releasing as patents goes down as well, increasing the push for trade secrets. In the end, I posit that cutting the duration of patents will have similar practical effects to removing patents altogether.
Finally, I think your contention is exaggerated. Unless the drug is very niche, there's going to be a significant demand for them. This demand creates an incentive for better reverse engineering efforts. Patents make them illegal, almost nullifying this.