Or better yet, is it possible to figure out the offline wallet's next address through the online one, and give that to someone else to send BTC to?
That's why deterministic wallets exist.
To clarify: that's exactly how Armory already works!
Everytime you hit "Receive Bitcoins", Armory generates a new address from the watching-only wallet that hasn't been used before. As long as you keep using "Receive Bitcoins" every time you need to receive money, you always get a new address, and guaranteed that the offline computer has the private key for it.
Awesome. This is exactly what I wanted to know. Thanks for the information.