using a hashed IV for AES128-CBC I would like to minimize the encrypted packet size.
Is it possible to derive the IV from a non-repeatable counter?
For example, take a 32 bit counter, hash it with a key (different from the AES key), and then use the result as a 128 bit IV.
The counter will increment on each packet, and not recycle during the lifetime of the key.
Then I could send the 32 bit of the counter, instead of the whole 128 bit IV, and if the transmitter and receiver are in sync, then there is even no need to transmit the counter at all.

Is it a reasonable solution?
For CBC, the IV must be chosen uniformly at random¹. Furthermore the IV must be independent of the plaintext: if you start sending a message encrypted with CBC, and then an adversary can submit some plaintext that will go in a later part of the message, they may be able to decrypt the whole message.

The output of a cryptographic hash function isn't necessarily uniformly random, but it may be close enough. Your method is very close to encrypting a counter, which is considered safe. But you're still saddled with the downsides of CBC: you must not allow the adversary to inject message content after they've seen the IV, and you must be very careful with padding.

I recommend using CTR instead of CBC. CTR is a lot easier to use correctly. All you need is that the counter does not repeat ever. It doesn't need to be random or unpredictable. Just remember that the counter is incremented with each block, not with each message.

In addition, consider whether you need to authenticate the message. If you don't have a good reason why it isn't necessary, then you definitely need to authenticate the message. To encrypt and authenticate the message, use an authenticated encryption mode such as GCM or CCM. Most authenticated encryption modes use CTR for encryption, but they may have different constraints on the IV due to the way they use it (and the IV for the authenticated encryption mode is not always used directly as the initial counter value for CTR).

¹  Exception: if the key is only ever used once then the IV can be anything.