All visa information for travelling to India should be stored in a central secure database that is accessible from Indian embassies all over the world and airport immigration personnel.
Then in such cases they can attach that same visa (by printing at airport) to American passport and take a fine of say $100.
Easy, isn't it ? Same strategy can be used to cross-check issued visa and paper visa in passport. That way nobody can have a fake visa.
In future, they should create a cental database for all people in the world, and nobody should be required to carry any documents. Fingerprint along with DNA from hair should be enough. For example, they will scan the hair with a probe at airport that will instantly get DNA info and compare that with info in database. Once the person is identified, all his details like photo, travel documents should be accessible on airport computer.