Notation: Up/left/right/down arrows are U/L/R/D. Squares are indexed like pixels, in pairs of (x, y) starting at (1, 1) in the top left.
Use U and L to build as large a block as possible in (1, 1). Avoid shifting this block to the right at all costs. If necessary, burn off turns by mashing U until the top row fills. When the top row is static (no horizontal combinations or open spaces) you can make R moves without fear of displacing your large block from (1, 1). You should have inadvertently built up some large numbers toward the left of the middle two rows. Now that you can use R moves, move these over and combine them into the top when possible, and then collapse the top row as far as possible to the left. This should ensure your largest term always stays in (1, 1). Your goal is to have the top row occupied by consecutive powers decreasing rightward.
Eventually you'll end up with a pretty big number in (4, 1). Now you begin a new phase where the goal is just to grow (1, 4) so you can collapse left again. Specifically, you want to increase the value of (4, 2) as quickly as possible so you can combine up into (1, 4) (I'll try my best to describe how I do this but it's a little unclear to me still). You can separate out the new spawns in rows 3 and 4 using U and R, so that you're sending larger numbers toward (4, 2) from both the left and the bottom at the same time. You should be able to get to a point where no matter what the new block is, you can combine it in one direction or the other. It is very likely that one of these chains will make it all the way to your build square. Occasionally, the zugzwang will force you to do an L. If the new block does not spawn in (4, 2), go back immediately and continue. If the new block does spawn where you were building, you'll have to start over with the building-up process and look for an opportunity to combine your old (4, 2) tile up into the top row.
Eventually, new spawns in your build square will have forced you to move a lot of high-value tiles to the upper left. When this happens and you can't combine them with R/L/U, you'll run out of space to build and need to drop down a row. Now you can build in (4, 3) using the bottom row and left two columns to maneuver in the same way you did when you were building (4, 1).
One thing I noticed in this method is that it's very hard to get stuck with an uncombinable rectangle on your turn. Since you're using the 2s and 4s to build both horizontally and vertically, you'll almost always have an asymmetrical board, and when you do have a rectangular board, you'll be almost guaranteed to have either U or R/L as a legal move.
I'm still trying to figure out a way to protect the top-row block order from being disrupted. I sometimes get forced to make R moves when I don't want to, and if the new block spawns in (1, 1), it's pretty much gg. Anyone have any ideas for improvements to this system?