It is nearly impossible to do that as a retro fit. Standard heater designs use the excess heat as part of the system for making sure flue gasses get properly vented. If you capture too much of the heat, the flue gasses won't be vented properly and could cause corrosion and possibly respiratory problems.
There are some heaters that have been designed to capture a much higher percentage of the heat, so way less heat comes out the top, though they are a fair bit more expensive.