If you exclude adjectives with stems ending in к,г,х,ш, щ, ж, ч, ц, there are two really visible patterns: soft-stem and hard-stem. For example, let's take "белый" and "синий" and watch their endings:
Nom: белый/синий , белая/синяя, белое/синее, белые/синие
Gen: белого/синего, белой/синей, белых/синих
Prep: о белом/синем, о белой/синей, о белых/синих
("ый" should be ОЙ when stressed: "дорогой")
As you can see, hard-stemmed adjectives use "hard" vowels and soft-stemmed use iotated vowels. You may memorize the "soft" endings by noting that a iotated conterpart of "о" is "ё". However,"ё" cannot be unstressed (and Russian adjectives use a fixed stress in their full form!), so you use "е" instead.