> RenderingSystem running every Update while AI Systems are running each 100ms.

This shouldn't be a problem. For example, simply have your AI systems accumulate the delta passed to them, and only take action when it exceeds 100ms. I.e. four (dramatically unstable fps) loops could look like this:

    aisystem.update(20ms) -> 20ms
    aisystem.update(21ms) -> 41ms
    aisystem.update(60ms) -> 101ms, take action -> 1ms
    aisystem.update(20ms) -> 21ms

Most likely this is not the best way to go about it, but it is one possible implementation.

As for your second question, I really don't understand what seems to be the problem. It seems to me that you described a perfectly valid way to move the units.