my 1j did the same thing it was caused by a severe air leak . a blown intercooler hose had a masssive split in the bottom .also make sure you run the map sensor off the little round filter on the manifold not just any vacuum .
it hunted almost EXACTLY as you desribed .idle for a while then up and up and down ....PISSED ME OFF ..until i found it
have you run diagnostics to get the fault codes ??
if youve checked the idle control valve and all hoses etc.
the only thing i can consider is plugs my mates 1j wouldnt even idle with 10,000 klm plugs. get NGK bkr6e or bkr6es is better
gapped to 0.8mm.Change em every 5,000klm but at $3 each they are cheap