Well, assume each bot fires exactly 1 bullet, then for 11 bots there will be 11 on the field, and only 10 of them is what you need to track — since one of them is yourselves.
from other bots’ perspective, the number of waves it need to track (and simulated by you) is the same, the only difference is about which wave to ignore.
Wave is not necessary the abstraction of targeting, it can be the abstraction of firing instead. Since you fire at most 1 bullet at a time, you fire at most 1 wave at a time as well.
To handle multi-bot targeting, simply store the targeting information (e.g. target location, target latvel) and the firing information (e.g. power, source location) separately, and associate multiple targeting information with one wave.