I've had a think about this, perhaps you could put a bowling machine to good use.
Set it up so you're getting a ball pitching quite full, relatively wide outside off stump, and focus on getting your foot next to the pitch of the ball, head in line and leave it, making sure to watch the ball the whole way until it passes the stumps. Do this for a good 12-18 deliveries, then set it up so that it is slightly closer, and repeat the same, just keep leaving the ball and watching it. Since you are an opener, you will be leaving a fair number of these kinds of deliveries early in your innings, so it will be good practice for that, but also, it helps get your head in line, and makes sure it stays in line by watching the ball all the way. It's pretty hard to watch the ball all the way if your head is falling away all over the place, so it should encourage a relatively still head so that you keep the ball in sight. After doing this a couple of times, perhaps change the length to a slightly shorter one (to try sort out the problem you're having with squaring up) and try to stay side on when leaving the ball, again, watching it all the way. I know this is boring, but after this, perhaps try hitting some of them, and see how it goes.
I am in no way a coach or a good batsman, this is just something I thought I might try to help me move across more to the wider deliveries rather than playing too far away from my body. It might work, might not, but at the very least, it should help you know where your off stump is!
Maybe make it so that the deliveries swing away sometimes, so that you're not just planting your foot at the same place 12-18 times in a row, or even just get someone to give you throw-downs at varying lines.