We are trying to install the joist hangers and the joists, but the 2x10s are slightly different sizes. The problem is that some of the boards are 9.25" and some are 9.5" and some in between. So if all the joists are hung at the same level, then the top of the boards are all at different levels, which would lead to a bumpy deck. How is this best handled?
Use face mount joist hangers and set them so that the tops of the joists are all level.
You could try to return the joists and demand a batch that are the same size. Or shim them, which is less than ideal.
As stated in comments, joists can vary in size based on moisture content. Not only that, but they'll expand and contract a bit with moisture changes in the future, as well.
Use joist hangers, aligning the tops of the joists so they're all level with each other before you nail the hangers into place. It helps to temporarily clamp a short (about 24" long) 2x4 to the tops of the joists, overhanging the end so you can hang the joist in place in exact alignment with the top of the rim joist.
Toenail the joists in place even at the top. Then install joist hangers to permanently attach them.
We always level the bottoms (any bow uppermost) and then shim the tops (mostly because in a new build you'll often have joists sitting on walls too, so you get used to the bottoms being spot on and the tops out). Plus we use hangers with a heel plate that tucks underneath the mounting joist.
However thats going back decades. We can ask for the joists to be "regularized" at my local supplier and this is where they run them all through their massive band saw and cut them all to the same size; (in the UK at least).