Of course there is a better way. The download check can occur without disabling your ability to use the app. If you have a connection available the make the necessary downloads (if any). If not then inform the user, and then let them use the app.
In regards to licensing, that's not an issue because it's a connection to google play (we assume that service won't be down).
Not all new versions make old versions incompatible. In other words the app should be able to run on non-updated plugins if the user hasn't been able to update them (at least for a limited time).
Also, the plugins are are downloaded should be handled in a transparent and clean manner. For example if I have the plugins downloaded, but you do not, I should be able to send them to you and once you place them in a location the app will recognize them.
Yes it's a lot more work for the developer, but as soon as I've paid for a product I don't feel guilty about asking for quality.