I've been solving this issue by always running Bower from Grunt during the build step. In the newer version of Bower this process is really fast when your locale Bower packages are up to date.

In fact we already have this task in YUI's Grunt scripts:
https://github.com/yui/grunt-yui-contrib/blob/master/tasks/bower.js

So my suggestion would be for us to use Bower, if possible, since we already have this Grunt+Bower infrastructure setup.