If the stack is running 12.1 or later code, the least downtime method is to use the nonstop-upgrade option. That will do the upgrade member by member, taking only one down at a time. You do need to ensure that you have the virtual chassis configured to run in non-stop mode though.
set chassis redundancy graceful-switchover set ethernet-switching-options nonstop-bridging set routing-options nonstop-routing
Once the stack is configured properly, doing a non-stop upgrade is only slightly different from the method you used.
request system software nonstop-upgrade reboot <package>Read more