I've heard about bitaddress.org: is this 100% safe if I download the webpage in html? and then generate it like normal. but how would I withdraw bitcoin at a later date? with importing the private key into bitcoin client?
Yes, it's safe as long as you take the necessary precautions, read a little more on cold-storage so can you understand the concept of making wallets off-line and yes you can import the private key into a bitcoin client such as Bitcoin Core, Armory, electrum etc. when you need to transfer funds.
After you have created an address from bitaddress, import it into any client, if it shows the matching address you can be sure that it is safe to use that address, I have used bitaddress several times but never had any trouble like of mismatched address private key pairing.
You can do the above step while remaining off-line.