I don't think there's a simple straightforward answer to this and it will depend upon how much heated water you want. The most efficient solution would be to only heat the quantity water that you need to use, for the energy used to heat water that is unused must be regarded as wasted (note that while excess water heated in one heating 'session' may still be hot enough to be used later, it will have cooled somewhat since heating, so it could be argued that if the water was still hot enough after cooling then you could have just heated it to the lower temperature in the first place. Following this logic loop means that you eventually end up at the point where the remaining water is too cold to use without being heated again).
The problem with an immersion type water heater here is that because they're typically fitted to a tank of water you can't really use it to heat just the required amount of water. There is some degree of control over the volume of water in the tank that's heated, of course, because the heated water will collect at the top of the tank and the colder water will collect at the bottom but, because of mixing between the two volumes of water, this will only become effective once an appreciable fraction of the water has been heated; I'd guess about 1/4 - 25% for a typical hot water tank (A very tall and narrow tank would reduce this figure, but would have a higher surface area and lose more heat for the same degree of insulation, and might be harder to physically accommodate too).
So unless you can work out the exact gradient between the heated water and the cold water in the tank, you'll probably have to heat more water than you need to guarantee getting the quantity required.
I think that what I would do then, is to find out how much hot water you need, over the period of time that the water stays hot enough after heating it, and then work on that basis.
If you can use all of the water heated by leaving the immersion heater on all of the time then that is efficient, so logically, if you don't use all of the water then you'll be better off just heating the amount you'll use, bearing in mind whether water heated in the morning, for example, will still be hot enough in the afternoon/evening, in which case you should heat more than you immediately need and sufficient for both morning and afternoon/evening, and then turn it off, or just heat enough for the morning, turn it off, and then turn it back on to heat more for the afternoon/evening.
The bottom line is that unused heated water will cool, so that energy is lost, or wasted, so what you need to do is find the optimum trade-off.
It will actually be fairly easy to find the most efficient way of using it because you can pretty safely assume that the current draw by the immersion heater will be constant regardless of the amount of hot water in the tank, so all you really need to do is compare the total length of time the immersion heater is switched on when you're comparing different strategies. Whichever strategy needs the immersion heater to be running for the shortest total amount of time, for the amount of water you need, heated to the minimum temperature you require, will be the most efficient for you.
Sorry for the rather rambling reply, but I think the last sentence above really sums it up.