For starters, get it up to temp. Until you're at 170 or higher, you're pissing in the wind trying to figure it out. Second and MOST important, what is teh fuel rate when checking balance rates? Without the fuel rate, these are MEANINGLESS NUMBERS! Balance rates are how far off from the fuel rate each injector is being commanded to inject. Ideal fuel rate at a HOT idle for a stock VGT truck should be right around 9MM3 of fuel(sometimes a little higher from what I have seen). Balance rates can go from -7 to +15. -7 basically means the ECM is only commanding the pilot pulse from that injector, and no main injection. Look at your screen shots, that is what it is doing with #4. Negative balance rates mean the ECM is commanding that injector to inject LESS fuel than the average amount or fuel rate, and positive means it is commanding it to inject MORE fuel than the average/fuel rate. Negative balance rates are almost always your smokers and sources of white smoke as they are normally your leakers dribbling fuel all the time. Positive balance rates means that injector isn't flowing enough fuel, and it is commanding it to flow more because it is plugged. This is all ASSuming though that the engine is in good health as well as the wiring and fuel supply.
The BIG monkey wrench though is if your fuel rate is only say 2MM3 of fuel at idle when it should be 9. That would all of the sudden turn a balnce rate of +7 into a 0, and what you thought was a bad injector, all of the sudden becomes perfect. #4 is the one I would be looking at teh hardest, BUT this is also ASSuming your app is displaying the balance rates according to the correct cylinder number as this has been an issue that there has been no definitive answers to with scanners other than a TECH II. I would suspect a poor connection or plugged injector for a positive balnce rate, and leaking injectors for a negative.