The assertion made by the author are not completely true.
One reason why foreigners are charged more is due to the currency differential. It does not hurt them a lot. When we travel to the UK or the US, I am sure the person who posted this write up does not pay in Indian rupees. One has to pay 40 to 80 Rs. for a dollar or a pound !!!
Also, many foreign countries strike off visa requirements and also the visa fees for various other developed nations. India does not benefit from this parity and Indians have to pay a lot by way of hefty consular fees. Not to mention the fact that these hefty fees are forfeited so many times because of refusal of entry clearance/denial of visa.