I recently did a lot of research into this area, talked to a lot of people (natives as well as true experts including one professor with a Ph.D), read a lot of material, and looked at several dozen sentences. Here is the outline of the situation...(Please note that there will always be exceptions to these generalities and I have seen them, but only a few so far.)
Firstly, most of the time 에 의하여/해 will work, but it is not always the natural choice and occasionally it seems to be wrong.
When deciding whether to replace that with 에게, the following guidelines fit in most cases:
에게 can be used if both parties are animate, or animate-like (such as countries, companies, etc.)
에게 can be used if the verb is "sensory" (relating to hearing, seeing, discovering, feeling, etc.)
한테 can replace 에게 in some dialectical and/or spoken uses. I was told that people in Gyeongsang (SE part of Korea) are more likely to use this, for example, when speaking. Not sure otherwise, but 에게 is a safer bet.
One thing that I'm mystified about is the difference between 에 and 에게 in passive sentences. Grammar books say that 에게 should be used for animate agents, and 에 for inanimates. However, there are many examples "out there" of 에 used with living things, and also 에게 used with non-living things, so it is truly confusing to me.
Since the above generalities pretty much only make sense with animates, there is more to the story. But 에 의해 seems to be the safest and most general choice for inanimates.
Of course, 에 is used for "by" in more general cases of "cause or means" (e.g. 병에 죽었다) so I think there some overlap here...I plan to look much closer at this in the near future.
I'm still waiting for some feedback from a couple of my best contacts on this, so I might edit this response later a little bit.