How do I convert between different east longitude coordinates?
The database with the negative longitude angles is storing longitude as eastings and westings, whereas the other database is storing everything as eastings.

It appears you prefer your data as eastings and westings. Your methodology for changing eastings greater than 180 degrees to westings is correct: where the longitude angle is greater than 180 subtract 360 from it (i.e. longitude angle - 360).