Why are there empty transactions in the MySQL binlog?
After some research and further looking into MySQL documentation, it turned out to be it was an error on my part. 

I was using mysqlbinlog -s option to view binlog. Because the replication statement is coming over as Row Based Replication, it is not possible to see the actual statement.


  You cannot see on the slave what statements were received from the master and executed.  


Advantages and Disadvantages of Statement-Based and Row-Based Replication

So when trying to view the binlog using the mysqlbinlog -s util, it doesn't decode this blob of information and hence shows up as blank/empty commit. 

Hope this helps someone else runs into to similar situation.