If the Umpire gives the batsman out then his decision should be reviewed by the Third Umpire, and every facet of the dismissal taken into consideration during the review. If both the Umpire and Third Umpire agree with eachother then the batsman is out, no question. In dismissals that are difficult to adjudicate then the Third Umpire should have the 'final say' after consultation with the field Umpire.
If an appeal is rejected by the Umpire then the bowling team should be allowed 2 challenges per batsman, per innings. Obviously there needs to be some limit otherwise the bowler will be challenging everything.
In a nutshell, it is the Third Umpire who gives each batsman out and takes responsibility, not the field Umpire.
The wishy-washy half-baked system currently in place is not working because too many 'howlers' are still getting through. Hence the use of technology should be more frequent, and more freely available to players and umpires alike.