LOL
I do okay with the 2 bags that I have (only 1 at a time though).
From your post, it seems like you have the strap WAY too long. To get it to stay put on your back while using that extra "stabilizing" strap, the shoulder strap has to be pretty short so that the bag will rest in your BACK and not down by your hips. If you do this (set the bag higher up on your back), it will stay there while you ride.
I have found that there is no way for me to make a messenger bag fit both on and off the bike. What I mean is that for riding, I need the strap to be really short so it stays on my back. But for just walking around, you need the strap a whole lot longer or else it looks like you're carrying a purse.
Anyway, I think your problems are 2 things:
1. You need to shorten the strap to get the back WAY higher on your back than you currently have it. This will solve basically every problem you stated in your post.
2. You are going to have to adjust the strap again if you want to walk around with the thing on. I don't, but I don't have far to walk and I just end up carrying it by the handle.
I prefer the messenger bag to a backpack by far.