How to ensure multiple weapons fire towards the same target?

I have a shooting system that uses projectiles instead of raycasting due to specific game requirements. When firing one weapon it is quite simple to display a reticle for where this weapon’s projectile is headed; this is also the case when two of the same weapons are being dual fired since they both have the same effective range. What I can’t seem to figure out is how to handle dual wielding different weapons, i.e. weapons that have a different effective range since after leaving their respective weapon barrels, the two projectiles have a different target to aim for, don’t they?

Since the weapon system uses projectiles which are physically fired from each barrel (and have a trail clearly showing their firing origin), as far as I understand I cannot simply fire both weapons from the center in a straight line since this would be visually obvious. I am also against the idea of using a separate reticle for each weapon since this is not how dual wielding is commonly handled in modern shooting games. So I am wondering how can weapons of differing effective ranges fire towards the same target so that only one reticle can be used? Should a different target be used for each weapon, or should they both share the same target?

I would do it like this:

Cast a ray from the camera forward. Then, for each weapon:

Declare a Vector3 that acts as the gun’s aiming point.
If the distance between the camera and the raycast’s hit.point is bigger than the gun’s max range (or if there is no RC hit at all), the aiming point is camera.transform.forward * max range.
Else, the aiming point is the hit.point.
After you have your aiming point, just rotate the gun so it looks directly at it, using Transform.LookAt or similar. For very close points, you might also want to slide the gun towards the center bottom of the screen.