How about following the software industry model in government offices? Hire and fire policy?
A clerk or somebody in government office is perhaps more corrupt than a software engineer working for some mnc. Perhaps due to couple of reasons (a) The clerk feels he/she is earning less than the other guys, so give nice salaries to the government folks. (b) Government employees are having proper job security. This super security feeling gives some sort of confidence which is kind of misused. So, get rid of this security feeling for them and make them work productively.