The real problem is that, in an effort to reduce complexity, ships are not built realistically using volume instead of mass.
As an example of this, a long ton, modern shipping's unit of measure, is approximately one cubic meter of sea water. My current ship has 24 tonnes of cargo capacity. That equates to 24 cubic meters, or a cube 24 meters on a side. If you turn that into a more reasonable 3 meters tall, you get 67.88 square meters. Please note, this is only Cargo. For reference, the average single family box shaped house is roughly 375 square meters. The ship in question is a Viper Mk IV, which is in the upper end of the Small class of ships.
When you add in fuel storage, Frame Shift Drive (FSD), etc, you have a huge vessel, but the game is not designed so that a piece of equipment has volume, only mass. I realize that a Class X compartment is supposed to address this, but, really, do we honestly believe that a Type E and a D device take up the exact amount of space and only have different weights?
Properly done, a "ship" should be the finished result of a hull into which you have put components. You should be able to buy the standard, broken, designs or buy a hull and build it to your own specifications. For this discussion, a hull defines a volume of total available space and the framing required to support it.
Jump should be affected by volume, thrust should be affected by mass. This would result in combatants being trim to maximize thrust, and travelers, of whatever nature, purchasing larger FSDs which would require more volume in the ship. Combine this with cargo requirements, and weaponry would be minimized.
In any case, I stand by my original statement that the current model is a variation of the gaming industry's money sink mindset, not a properly laid out set of decisions about what you intend to use the ship for. Of the top five default designs for cargo capacity, four of them are also the heaviest gunned ships in the game. The longest jump is also in that group, and it is not the cargo ship.