Note: I am aware it will not be 100% safe anyway.
I would recommend PTDC (Pakistan Tourism Development Corporation).
They have very good travel plans for Northern Areas of Pakistan. You will have to reach Islamabad/Rawalpindi first. The best way to do that is to reach Quetta which is a border city adjacent to Iran. Then take a flight from Quetta to Islamabad. Road journey form Quetta to Islamabad may well take over 30 hours because of not-so-good road conditions and the distance. However, the flight will be around 2 hours.
Hope you enjoy your visit to Pakistan.
From Quetta, you can take a train which travels to Punjab province. From there, you will almost certainly need to pass through Islamabad/Rawalpindi, which is the transit point to the Northern Areas and Azad Kashmir.
The most dangerous parts of the country are northern Baluchistan, the North West Frontier Province and Sindh, but you will skip the worst by taking the train. In the past, you could actually take the northern road between Quetta and Islamabad, but I wouldn't try that these days.
To give you an idea of the security risk, people driving their own vehicles between the Iranian border and Punjab seem to get a police escort (at least from Quetta). As far as I know, the train is considered safe. Elsewhere, travel by bus is normal.
Zahedan on the Iranian side of the border also has a bad reputation, so you may want to pass through quickly.
I am local resident of Hunza living in Berlin. I think the best way is to get a local contact/guide who can travel with you from Quetta to Hunza.
I would prefer to hire a local to and take public transport to travel. Once you are in Gilgit, you can travel all alone anywhere, any time to Hunza. It is safe!