Yes there are rules that about nomenclature.
In your example, if there are two sulphates, you would lose two waters so it would be [Fe(SO4)2)].4H2O
The overall charge is therefore on the complex would be 2- and would be named:
Tetraaquadisulphateferrate(II)
The rules are the following:
1. Cation is named first
2. Ligands named before the metal
3. Ligands named in alphabetical order
4. Negatively charged ligands have the suffix -O
5. Most neutral ligands keep name of free molecule (water is named aqua and NH3 is named ammine)
6. If there are more than one of a ligand, the ligand is prefixed with mono di tri tetra etc depending on the number of the ligand.
7. Complicated ligands such as EDTA are treated as negative ligands and have the suffix -ato
8. If there are more than one of a complicated ligand, they are prefixed by bis for two tris for three tetrakis for 4 etc
9. Cationic complexes have the oxidation state of the metal at the end (Eg hexaamminecobalt (III))
10. The anion is named next
11. If the complex is an anion, the suffix -ate is used. (Iron becomes ferrate and copper becomes cuprate but other trans metals use -ate eg titanium become titanate).
12. Neutral complexes named in one word: triamminetrinitrocobalt(III)
13. Bridged ligands denoted by the letter mu and is repeated before each bridging ligand.
I have a feeling that you do not need to know all of that, but in answering your question, yes there are rules in naming complexes and it is hard and I am sure I have named the complex [Fe(SO4)2)].4H2O, wrong.
Edit:
I assume you know how to work out the percentage composition now that you have the formula?