Diffie-Hellman Secret Exponent Size and Shared Secret Usage
The scheme itself seems pretty standard, so it should be secure, if defined and implemented correctly. A simple textual descripion as you have provided here is not enough to prove your protocol secure. The authentication part only describes the RSA algorithm and key size - it does not specify how trust is established, nor does it define how the session keys are to be used.

I don't really understand your key derivation part; if you use HKDF and use the expand funtionality (with different info fields) you can generate multiple keys without having to resort to AES-CTR.

You may want to adhere to to NIST SP 800-56A Rev 2. This document also defines extract-than-expand key derivation schemes. One important issue with it is that it defines a lot of KDF's, so it will lead to another choice. It does certainly contain a lot of security hints regarding Diffie-Hellman which you may want to consider.

[EDIT]

As for the secret exponent size, the size of 512 bit is certainly enough, but the size of the modulus is very small. This means that the security is bounded by that of the modulus. It is very tricky to talk about effective key sizes within Diffie-Hellman. To get a good idea about possible key sizes, please take a look at the NIST or ECRYPT recommendations, e.g. at http://www.keylength.com/ . For good performance at higher key sizes, it is recommended - also by NIST - to switch to Elliptic Curve Diffie-Hellman. A 521 bit or 512 bit Elliptic Curve seems more appropriate for your needs.