I think this should be explained to a foreigner in a different way than explaining horizontal and vertical positions. A non-Russian speaker should imagine that the object that is positioned on the table is in fact a creature (animate object).
English has the verbs to stand and to lie but they normally only used with people or mammals. The person should think that if the book would be a creature and it was in its current position, what would he/she say about this creature: stands or lies. If stands would be more appropriate for creature - say stands for the book, say lies otherwise.
As always, there will be exceptions from the rule which need to be memorized.
Let's look at the тарелка стоит на столе. The plate is ready to serve you - to hold the food. Of course, it is standing. :-) If the plates are put in the box for moving, for example, they will be положены (lying). I.e. стоять и лежать also has the connotation of being in a working position or in an out-of-work position.
Also, it seems the story of how difficult it is to explain to English speaker the difference between stand and lie for objects is a bit exaggerated. It is kind of "new urban myth" - a nice story to retell and have fun. In fact, in English standing and lying is also used for objects (but not usually stand and lie). You cannot say: CN tower stands in downtown Toronto.
But you can say: CN tower is the world's tallest free standing tower.
The same for lying: He checked the pile of dirty cloths lying on the floor.
So, it is quite clear to the English speaker that stands/стоит denotes a vertical position, and lies/лежит denotes a horizontal.