In response to your second paragraph: it's nature to use 前面 with persons.
前面 can stand for "prior" to indicate relationship about logic or time.
When using as "prior", 面前 cannot replace 前面:
He joined the company before me and worked 3 more years than me.
While 他在我面前加入这家公司 means "in front of my face", I saw him joined this company.
前面 mainly refers to a direction, while 面前 gives a sense of something is near when referring location(usually can be easily seen). It's strange to say something you can't see is just in front of your face, isn't it?
B:在前面，沿这条路过5个红绿灯就到。(can't say 面前 here since the supermarket isn't very near)
A: Where is that supermarket?
B: In front of (us), follow this road and pass 5 traffic lights then you'll reach there.