SSIS does not capture percentage information on it's own. It can log how many records have been transferred, but it does not check for totals first, so there is not really a percentage. In addition, since it can multi-thread, the number of transferred records may not represent a percentage of time (there could be a single command object in the control flow that takes 99% of the time for the package to run).
So I guess I am saying that there will not be anything generic that will be very accurate.
I would not use a progress bar. You may have noticed that MS has gone toward a single animated gif for eye candy. My suggestion would be to have some kind of appropriate animated gif (a spinning wheel?) and then using the SSIS objects, report the currently running components and the latest message reported. Or, just go with a simple animated gif and save yourself a lot of work.