There are patterns, this script points them out and is quite handy. For instance, verbs pairs ending in 〜ある and 〜える (like 上がる and 上げる) will always have the 〜ある be intransitive and the 〜える transitive.
From the script,
Since the patterns aren’t always a 100% (see above), you will often just need to remember the transitivity pair normally.