The protests were generally peaceful, but recently on our republic day we cannot say it remained peaceful. I think government should have first spent time in making people understand the pros/cons of the changes and take their feedback if they are ready. Any protests long drawn, can turn violent.
My personal take on this is that farmers are not ready yet to face the corporate world as buyers. This law should come, but not now. And Government can build an intermediary organization to work with both mandis and corporates - but again, whenever government builds something in India, the officers appointed use corruption to take it from useful to useless. So that also won't work. I don't know, what can solve this issue apart from government holding off the laws. They are saying they can put the law on hold for 1.5 years, but the protest is at a stage where they want it to be totally taken back. The case is also in supreme court of India where I think they have made a committee to solve this. But I believe protesters are very concerned about livelihood post these laws. I guess that's the trouble with big changes like this, it can impact people positively/negatively in short term but might boost the economy in long run. It's important to protect people during these major changes also. May be NGOs can be used to first raise awareness - small A/B test can be done with experiment group. I don't know why governments don't do incremental changes slowly.