This is a question which cannot be answered conclusively, because the issues you are raising are matters of risk and probability. There is no such thing as a calculation which guarantees that the final structure will be secure. All you can do is state that the adopted calculations imply in an acceptable (and very, very low) level of risk.
After all, as you mention, there are a multitude of random variables with behaviors out of your control:
- Might the load be greater than what you actually expect?
- Might the material be faulty, with a strength below what you expect?
- Will the structure behave exactly like the structural model, or will imperfections modify the internal stresses?
- And countless other potential risks...
So, what is that acceptable level of risk? Who has the authority to determine that? Well, the answer is "not you." Instead, every country/state/whatever has a set of codes which determine the adequate methods and considerations to be taken into account when performing your calculations in order to reach the level of risk which the country/state/whatever believes is acceptable.
When dealing with structures, there tend to be two general methodologies: allowable strength design (ASD) and load and resistance factor design (LRFD).
In ASD, the required strength to resist a given load is calculated and compared to the "allowable strength" of the material, which is a fraction (50%, for example) of the material's nominal strength.
In LRFD, the expected loads are increased by a given factor and then the required strength for this increased load is compared to the allowable strength of the material, which is again a fraction of the nominal strength (but higher than in ASD).
For example, in Brazil, bridges have their dead loads increased by 35% and their live loads by 50% (and the dynamic factor). Meanwhile, concrete bridges have their strength reduced by ~30%, while steel bridges are reduced by only ~13%. This is an example of the LRFD method. (Brazil doesn't really use ASD nowadays).
Why are dead loads increased by 35% while live loads are only increased by 50%, though?
Well, it's because you can be pretty reasonably sure of what the final weight of your bridge will be. After all, you are in control: you selected the dimensions and the material. Something will need to go pretty seriously wrong in either of those variables (dimensions or concrete density, for example) for your bridge to be significantly off your expected weight.
However, you have no control over the live loads that drive over your bridge. Bridges are usually calculated with a codified live load, which describes a heavy truck or train. But, who knows what trucks will weigh in 20 years? And codes usually allow you to only consider one (or whatever) trucks driving by your bridge at a given moment. Sure, the odds of having two of these massive trucks driving by at once are astronomical, but what if you have one of them followed by a bunch of other, lighter trucks? Basically, you have no control over what happens on top of your bridge, so you need to put a much higher safety factor on live loads.
The same concept applies to why concrete strength is discounted so severely, compared to steel. Concrete is often done in-situ (on site), where quality control is more problematic. Even when it's mixed in a controlled environment and then trucked over to the site, there are a multitude of factors which govern concrete strength: was it mixed properly, are the aggregates adequate for the site's environment, was it poured correctly, was it hydrated adequately post-pour, what will its strength profile over time be, etc, etc, etc. Meanwhile, steel is manufactured in a factory, put in a truck, positioned on the site, and then welded/screwed in. There are basically no random variables as to the structural element's strength once it leaves the factory, which means that quality control at the factory door is essential and sufficient to be very sure of the material's actual strength. So the smaller safety factor is basically to cover the potential for screwups at the factory and for potential loss of strength over time due to the elements. The only other variable to be considered for steel is the linkages (welding/screwing), but guess what, there are codes for that as well.