DRS has to be taken off from players, otherwise it'll never be effective. On Day 2, Virat blew 2 DRS within 13 overs -after that, if there was a gross mistake by Umpire, we could have said it's India's fault to use DRS on chancy calls, but that doesn't serve justice.
I see only 2 solutions - the 1st one is give DRS to Umpires as I explained earlier in this post. 2nd one is better solution, but a bit high-tech & complex, which is used in US Sports - avail replays to umpires in personal capacity (that's not the large screen seen by everyone), so that if there is any confusion, umpire can watch the replay & take his decision. I am not sure how it can be done - in Basketball, Ice Hockey, Baseball or American Football, the adjudicators reach out to digital screens for replays; but in cricket, it's not possible for umpires to walk 100 metres & return for every replay.
May be, umpires can be availed an air plug for snicko, & a lap top, where they can watch replays via wi fi - but still it's too complex. Therefore, I'll stick to my first suggestion - on field umpires to take all the decisions, & the 3rd umpire to assist him. The communication can be both ways - on field umpire will ask specific questions, if he is not sure before a decision - and his decision is final. Other case is on field umpire makes a wrong call (either case - given a wrong out or saved a batsman) - if it's conclusive that the decision was wrong, before next ball, 3rd Umpire will call him to alter his decision or ask him to hold on for a better look.
DRS shouldn't be with players & it'll be always controversial as long as it's with players. For being bowled, one doesn't need the ball to hit stump 100%, 50% or 25% - what it needs is dislodging the bails, which can happen with 1% contact, therefore this percentage rule on LBW is also controversial.